diff --git a/Appearance.qml b/Appearance.qml index 7cd4b12..8ad2e3a 100644 --- a/Appearance.qml +++ b/Appearance.qml @@ -2,6 +2,6 @@ pragma Singleton import QtQuick QtObject { - readonly property string font: "Iosevka Nerd Font Propo" + readonly property string font: "CommitMono Nerd Font Propo" readonly property real fontSize: 14 } diff --git a/modules/notifications/NotiPopup.qml b/modules/notifications/NotiPopup.qml index b2cd70c..a636f88 100644 --- a/modules/notifications/NotiPopup.qml +++ b/modules/notifications/NotiPopup.qml @@ -2,12 +2,26 @@ pragma ComponentBehavior: Bound import QtQuick import Quickshell import Quickshell.Wayland +import Quickshell.Hyprland import qs import "." import QtQuick.Layouts WlrLayershell { id: root + screen: { + // Iterate through all connected Quickshell screens + for (let i = 0; i < Quickshell.screens.length; i++) { + let screenCandidate = Quickshell.screens[i]; + console.log(Quickshell.screens[i]) + + // Ask: "Is this screen the one Hyprland is currently focusing?" + if (Hyprland.monitorFor(screenCandidate) === Hyprland.focusedMonitor) { + return screenCandidate; + } + } + return null; // Fallback (should rarely happen) + } // 1. Position: Top Right Corner, covering the full height // We make it a fixed width (e.g., 400px) so it doesn't block the whole screen diff --git a/modules/wallpaper/Overlay.qml b/modules/wallpaper/Overlay.qml index 85ab3cb..939a190 100644 --- a/modules/wallpaper/Overlay.qml +++ b/modules/wallpaper/Overlay.qml @@ -5,6 +5,7 @@ import "../../" import "." WlrLayershell { + required property var modelData id: overlayRoot // 1. Fill the entire screen diff --git a/modules/wallpaper/Wallpaper.qml b/modules/wallpaper/Wallpaper.qml index 67ddf68..2d4edf5 100644 --- a/modules/wallpaper/Wallpaper.qml +++ b/modules/wallpaper/Wallpaper.qml @@ -15,8 +15,7 @@ WlrLayershell { } // We need to accept the screen from Variants - property var screen - property var modelData + required property var modelData // 1. The StackView manages the images StackView { diff --git a/modules/wallpaper/WallpaperStore.qml b/modules/wallpaper/WallpaperStore.qml index 54483bf..4c73ff9 100644 --- a/modules/wallpaper/WallpaperStore.qml +++ b/modules/wallpaper/WallpaperStore.qml @@ -21,7 +21,7 @@ QtObject { JsonAdapter { id: adapter // This property corresponds to a key in your JSON file! - property string lastWallpaper: "/home/lucy/.walls/frieren_river.jpg" + property string lastWallpaper: "/home/lucy/.walls/mooon.png" } } diff --git a/shell.qml b/shell.qml index 79761a4..e297ef3 100644 --- a/shell.qml +++ b/shell.qml @@ -1,23 +1,32 @@ //@ pragma UseQApplication -//pragma ComponentBehavior: Bound pragma ComponentBehavior: Bound import Quickshell import "./modules/bar/" import "./modules/wallpaper/" import "./modules/notifications/" -Scope { +ShellRoot { WallSwitcher {} - Variants { - id: wallVariants - model: Quickshell.screens - delegate: Wallpaper {} - } Variants { id: barVariants model: Quickshell.screens - delegate: Bar {} + delegate: Bar { + screen: modelData + } } - NotiPopup {} - Overlay {} + Variants { + id: overlayVariants + model: Quickshell.screens + delegate: Overlay { + screen: modelData + } + } + Variants { + model: Quickshell.screens + id: wallVariants + delegate: Wallpaper { + screen: modelData + } + } + NotiPopup { } }