import qs import qs.services import qs.modules.common import qs.modules.common.widgets import qs.modules.common.functions import QtQuick import QtQuick.Controls import QtQuick.Layouts import Quickshell import Quickshell.Io import Quickshell.Wayland import Quickshell.Hyprland Scope { id: root Loader { active: GlobalStates.wallpaperSelectorOpen sourceComponent: PanelWindow { id: panelWindow readonly property HyprlandMonitor monitor: Hyprland.monitorFor(panelWindow.screen) property bool monitorIsFocused: (Hyprland.focusedMonitor?.id == monitor?.id) property var filteredWallpapers: Wallpapers.wallpapers exclusionMode: ExclusionMode.Ignore WlrLayershell.namespace: "quickshell:wallpaperSelector" WlrLayershell.layer: WlrLayer.Overlay WlrLayershell.keyboardFocus: WlrKeyboardFocus.OnDemand color: "transparent" anchors { top: true bottom: true left: true right: true } margins { top: Appearance.sizes.barHeight + Appearance.sizes.hyprlandGapsOut } WallpaperSelectorContent { anchors { top: parent.top horizontalCenter: parent.horizontalCenter } } } } IpcHandler { target: "wallpaperSelector" function toggle(): void { GlobalStates.wallpaperSelectorOpen = !GlobalStates.wallpaperSelectorOpen } } GlobalShortcut { name: "wallpaperSelectorToggle" description: "Toggle wallpaper selector" onPressed: { GlobalStates.wallpaperSelectorOpen = !GlobalStates.wallpaperSelectorOpen; } } }