From d1e5f484461e27133317c78b81347d05dc3a2760 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sun, 24 Aug 2025 14:14:30 +1000 Subject: internal: rename Hyprland -> Hypr Prevent shadowing Fixes window info not changing on switching to an empty workspace --- services/Brightness.qml | 4 +-- services/Hypr.qml | 69 +++++++++++++++++++++++++++++++++++++++++++++++ services/Hyprland.qml | 69 ----------------------------------------------- services/Visibilities.qml | 5 ++-- 4 files changed, 73 insertions(+), 74 deletions(-) create mode 100644 services/Hypr.qml delete mode 100644 services/Hyprland.qml (limited to 'services') diff --git a/services/Brightness.qml b/services/Brightness.qml index 954f76d..086bc65 100644 --- a/services/Brightness.qml +++ b/services/Brightness.qml @@ -18,14 +18,14 @@ Singleton { } function increaseBrightness(): void { - const focusedName = Hyprland.focusedMonitor.name; + const focusedName = Hypr.focusedMonitor.name; const monitor = monitors.find(m => focusedName === m.modelData.name); if (monitor) monitor.setBrightness(monitor.brightness + 0.1); } function decreaseBrightness(): void { - const focusedName = Hyprland.focusedMonitor.name; + const focusedName = Hypr.focusedMonitor.name; const monitor = monitors.find(m => focusedName === m.modelData.name); if (monitor) monitor.setBrightness(monitor.brightness - 0.1); diff --git a/services/Hypr.qml b/services/Hypr.qml new file mode 100644 index 0000000..0f31453 --- /dev/null +++ b/services/Hypr.qml @@ -0,0 +1,69 @@ +pragma Singleton + +import Quickshell +import Quickshell.Hyprland +import Quickshell.Io +import QtQuick + +Singleton { + id: root + + readonly property var toplevels: Hyprland.toplevels + readonly property var workspaces: Hyprland.workspaces + readonly property var monitors: Hyprland.monitors + + readonly property HyprlandToplevel activeToplevel: { + const t = Hyprland.activeToplevel; + if (t?.workspace?.focused || t?.workspace?.name.startsWith("special:")) + return t; + return null; + } + readonly property HyprlandWorkspace focusedWorkspace: Hyprland.focusedWorkspace + readonly property HyprlandMonitor focusedMonitor: Hyprland.focusedMonitor + + readonly property int activeWsId: focusedWorkspace?.id ?? 1 + readonly property string kbLayout: kbLayoutFull.slice(0, 2).toLowerCase() + property string kbLayoutFull: "?" + + function dispatch(request: string): void { + Hyprland.dispatch(request); + } + + function monitorFor(screen: ShellScreen): HyprlandMonitor { + return Hyprland.monitorFor(screen); + } + + Connections { + target: Hyprland + + function onRawEvent(event: HyprlandEvent): void { + const n = event.name; + if (n.endsWith("v2")) + return; + + if (n === "activelayout") { + root.kbLayoutFull = event.parse(2)[1]; + } else if (["workspace", "moveworkspace", "activespecial", "focusedmon"].includes(n)) { + Hyprland.refreshWorkspaces(); + Hyprland.refreshMonitors(); + } else if (["openwindow", "closewindow", "movewindow"].includes(n)) { + Hyprland.refreshToplevels(); + Hyprland.refreshWorkspaces(); + } else if (n.includes("mon")) { + Hyprland.refreshMonitors(); + } else if (n.includes("workspace")) { + Hyprland.refreshWorkspaces(); + } else if (n.includes("window") || n.includes("group") || ["pin", "fullscreen", "changefloatingmode", "minimize"].includes(n)) { + Hyprland.refreshToplevels(); + } + } + } + + Process { + running: true + command: ["hyprctl", "-j", "devices"] + stdout: StdioCollector { + onStreamFinished: root.kbLayoutFull = JSON.parse(text).keyboards.find(k => k.main).active_keymap + } + } +} diff --git a/services/Hyprland.qml b/services/Hyprland.qml deleted file mode 100644 index 0f31453..0000000 --- a/services/Hyprland.qml +++ /dev/null @@ -1,69 +0,0 @@ -pragma Singleton - -import Quickshell -import Quickshell.Hyprland -import Quickshell.Io -import QtQuick - -Singleton { - id: root - - readonly property var toplevels: Hyprland.toplevels - readonly property var workspaces: Hyprland.workspaces - readonly property var monitors: Hyprland.monitors - - readonly property HyprlandToplevel activeToplevel: { - const t = Hyprland.activeToplevel; - if (t?.workspace?.focused || t?.workspace?.name.startsWith("special:")) - return t; - return null; - } - readonly property HyprlandWorkspace focusedWorkspace: Hyprland.focusedWorkspace - readonly property HyprlandMonitor focusedMonitor: Hyprland.focusedMonitor - - readonly property int activeWsId: focusedWorkspace?.id ?? 1 - readonly property string kbLayout: kbLayoutFull.slice(0, 2).toLowerCase() - property string kbLayoutFull: "?" - - function dispatch(request: string): void { - Hyprland.dispatch(request); - } - - function monitorFor(screen: ShellScreen): HyprlandMonitor { - return Hyprland.monitorFor(screen); - } - - Connections { - target: Hyprland - - function onRawEvent(event: HyprlandEvent): void { - const n = event.name; - if (n.endsWith("v2")) - return; - - if (n === "activelayout") { - root.kbLayoutFull = event.parse(2)[1]; - } else if (["workspace", "moveworkspace", "activespecial", "focusedmon"].includes(n)) { - Hyprland.refreshWorkspaces(); - Hyprland.refreshMonitors(); - } else if (["openwindow", "closewindow", "movewindow"].includes(n)) { - Hyprland.refreshToplevels(); - Hyprland.refreshWorkspaces(); - } else if (n.includes("mon")) { - Hyprland.refreshMonitors(); - } else if (n.includes("workspace")) { - Hyprland.refreshWorkspaces(); - } else if (n.includes("window") || n.includes("group") || ["pin", "fullscreen", "changefloatingmode", "minimize"].includes(n)) { - Hyprland.refreshToplevels(); - } - } - } - - Process { - running: true - command: ["hyprctl", "-j", "devices"] - stdout: StdioCollector { - onStreamFinished: root.kbLayoutFull = JSON.parse(text).keyboards.find(k => k.main).active_keymap - } - } -} diff --git a/services/Visibilities.qml b/services/Visibilities.qml index bd431db..0f09e3a 100644 --- a/services/Visibilities.qml +++ b/services/Visibilities.qml @@ -1,16 +1,15 @@ pragma Singleton import Quickshell -import Quickshell.Hyprland Singleton { property var screens: new Map() function load(screen: ShellScreen, visibilities: var): void { - screens.set(Hyprland.monitorFor(screen), visibilities); + screens.set(Hypr.monitorFor(screen), visibilities); } function getForActive(): PersistentProperties { - return screens.get(Hyprland.focusedMonitor); + return screens.get(Hypr.focusedMonitor); } } -- cgit v1.2.3-freya