aboutsummaryrefslogtreecommitdiffstats
path: root/config/quickshell/overview-trixie/services/HyprlandData.qml
diff options
context:
space:
mode:
authorDon Williams <Don.e.williams@gmail.com>2026-07-13 16:15:49 -0400
committerPinapelz <yukais@pinapelz.com>2026-08-29 21:40:35 -0700
commitc8b343b98c203ac13d4b28bb269a735cf4c03475 (patch)
treec76921ca2309c9595fdd02045f33fe9f1684176b /config/quickshell/overview-trixie/services/HyprlandData.qml
parentdcc2b56bd34846c5e8562bdb33ea63f3734d5ec0 (diff)
Cleaning up quickshell builds
Signed-off-by: Don Williams <Don.e.williams@gmail.com> On branch development Your branch is up to date with 'origin/development'. Changes to be committed: deleted: overview-trixie/README.md deleted: overview-trixie/assets/Workspace_Wallpaper.png deleted: overview-trixie/assets/image.png deleted: overview-trixie/common/Appearance.qml deleted: overview-trixie/common/Config.qml deleted: overview-trixie/common/functions/ColorUtils.qml deleted: overview-trixie/common/functions/qmldir deleted: overview-trixie/common/qmldir deleted: overview-trixie/common/widgets/StyledRectangularShadow.qml deleted: overview-trixie/common/widgets/StyledText.qml deleted: overview-trixie/common/widgets/StyledToolTip.qml deleted: overview-trixie/common/widgets/StyledToolTipContent.qml deleted: overview-trixie/common/widgets/qmldir deleted: overview-trixie/config.example.json deleted: overview-trixie/config.json deleted: overview-trixie/modules/overview/Overview.qml deleted: overview-trixie/modules/overview/OverviewWidget.qml deleted: overview-trixie/modules/overview/OverviewWindow.qml deleted: overview-trixie/modules/overview/qmldir deleted: overview-trixie/quickshell-overview.qml deleted: overview-trixie/services/GlobalStates.qml deleted: overview-trixie/services/HyprlandData.qml deleted: overview-trixie/services/qmldir deleted: overview-trixie/shell.qml deleted: overview-unified/README.md deleted: overview-unified/assets/image.png deleted: overview-unified/common/Appearance.qml deleted: overview-unified/common/Config.qml deleted: overview-unified/common/functions/ColorUtils.qml deleted: overview-unified/common/functions/qmldir deleted: overview-unified/common/qmldir deleted: overview-unified/common/widgets/RectangularShadow.qml deleted: overview-unified/common/widgets/StyledRectangularShadow.qml deleted: overview-unified/common/widgets/StyledText.qml deleted: overview-unified/common/widgets/StyledToolTip.qml deleted: overview-unified/common/widgets/StyledToolTipContent.qml deleted: overview-unified/common/widgets/qmldir deleted: overview-unified/modules/overview/Overview.qml deleted: overview-unified/modules/overview/OverviewWidget.qml deleted: overview-unified/modules/overview/OverviewWindow.qml deleted: overview-unified/modules/overview/qmldir deleted: overview-unified/services/GlobalStates.qml deleted: overview-unified/services/HyprlandData.qml deleted: overview-unified/services/qmldir deleted: overview-unified/shell.qml renamed: overview-trixie/common/widgets/RectangularShadow.qml -> overview/common/widgets/RectangularShadow.qml modified: overview/common/widgets/qmldir deleted: qs-hyprview-unified/LICENSE deleted: qs-hyprview-unified/README.md deleted: qs-hyprview-unified/common/Appearance.qml deleted: qs-hyprview-unified/layouts/BandsLayout.qml deleted: qs-hyprview-unified/layouts/ColumnarLayout.qml deleted: qs-hyprview-unified/layouts/HeroLayout.qml deleted: qs-hyprview-unified/layouts/JustifiedLayout.qml deleted: qs-hyprview-unified/layouts/LayoutsManager.qml deleted: qs-hyprview-unified/layouts/MasonryLayout.qml deleted: qs-hyprview-unified/layouts/SatelliteLayout.qml deleted: qs-hyprview-unified/layouts/SmartGridLayout.qml deleted: qs-hyprview-unified/layouts/SpiralLayout.qml deleted: qs-hyprview-unified/layouts/StarggeredLayout.qml deleted: qs-hyprview-unified/layouts/VortexLayout.qml deleted: qs-hyprview-unified/layouts/qmldir deleted: qs-hyprview-unified/modules/Hyprview.qml deleted: qs-hyprview-unified/modules/SearchBox.qml deleted: qs-hyprview-unified/modules/WindowThumbnail.qml deleted: qs-hyprview-unified/modules/qmldir deleted: qs-hyprview-unified/qs-hyprview-template.qml deleted: qs-hyprview-unified/screenshots/bands.jpeg deleted: qs-hyprview-unified/screenshots/hero.jpeg deleted: qs-hyprview-unified/screenshots/masonry.jpeg deleted: qs-hyprview-unified/screenshots/satellite.jpeg deleted: qs-hyprview-unified/screenshots/smartgrid.jpeg deleted: qs-hyprview-unified/screenshots/spiral.jpeg deleted: qs-hyprview-unified/screenshots/staggered.jpeg deleted: qs-hyprview-unified/screenshots/vortex.jpeg deleted: qs-hyprview-unified/shell.qml modified: qs-hyprview/modules/WindowThumbnail.qml
Diffstat (limited to 'config/quickshell/overview-trixie/services/HyprlandData.qml')
-rw-r--r--config/quickshell/overview-trixie/services/HyprlandData.qml209
1 files changed, 0 insertions, 209 deletions
diff --git a/config/quickshell/overview-trixie/services/HyprlandData.qml b/config/quickshell/overview-trixie/services/HyprlandData.qml
deleted file mode 100644
index 6127e989..00000000
--- a/config/quickshell/overview-trixie/services/HyprlandData.qml
+++ /dev/null
@@ -1,209 +0,0 @@
-pragma Singleton
-pragma ComponentBehavior: Bound
-
-import QtQuick
-import Quickshell
-import Quickshell.Io
-import Quickshell.Hyprland
-import "../common"
-
-/**
- * Provides access to some Hyprland data not available in Quickshell.Hyprland.
- */
-Singleton {
- id: root
- property var windowList: []
- property var addresses: []
- property var windowByAddress: ({})
- property var workspaces: []
- property var allWorkspaces: []
- property var workspaceIds: []
- property var workspaceById: ({})
- property var activeWorkspace: null
- property var monitors: []
- property var layers: ({})
- property bool pendingWindowsUpdate: false
- property bool pendingMonitorsUpdate: false
- property bool pendingLayersUpdate: false
- property bool pendingWorkspacesUpdate: false
- property bool pendingActiveWorkspaceUpdate: false
-
- function updateWindowList() {
- getClients.running = true;
- }
-
- function updateLayers() {
- getLayers.running = true;
- }
-
- function updateMonitors() {
- getMonitors.running = true;
- }
-
- function updateWorkspaces() {
- getWorkspaces.running = true;
- getActiveWorkspace.running = true;
- }
-
- function updateAll() {
- scheduleUpdates(true, true, true, true, true);
- }
-
- function scheduleUpdates(windows, monitors, layers, workspaces, activeWorkspace) {
- pendingWindowsUpdate = pendingWindowsUpdate || !!windows;
- pendingMonitorsUpdate = pendingMonitorsUpdate || !!monitors;
- pendingLayersUpdate = pendingLayersUpdate || !!layers;
- pendingWorkspacesUpdate = pendingWorkspacesUpdate || !!workspaces;
- pendingActiveWorkspaceUpdate = pendingActiveWorkspaceUpdate || !!activeWorkspace;
-
- const debounceMs = Math.max(0, Config.options.hacks.hyprlandEventDebounceMs);
- if (debounceMs === 0) {
- flushPendingUpdates();
- } else {
- eventDebounceTimer.interval = debounceMs;
- eventDebounceTimer.restart();
- }
- }
-
- function flushPendingUpdates() {
- if (pendingWindowsUpdate) {
- pendingWindowsUpdate = false;
- updateWindowList();
- }
- if (pendingMonitorsUpdate) {
- pendingMonitorsUpdate = false;
- updateMonitors();
- }
- if (pendingLayersUpdate) {
- pendingLayersUpdate = false;
- updateLayers();
- }
- if (pendingWorkspacesUpdate) {
- pendingWorkspacesUpdate = false;
- getWorkspaces.running = true;
- }
- if (pendingActiveWorkspaceUpdate) {
- pendingActiveWorkspaceUpdate = false;
- getActiveWorkspace.running = true;
- }
- }
-
- function biggestWindowForWorkspace(workspaceId) {
- const windowsInThisWorkspace = HyprlandData.windowList.filter(w => w.workspace.id == workspaceId);
- return windowsInThisWorkspace.reduce((maxWin, win) => {
- const maxArea = (maxWin?.size?.[0] ?? 0) * (maxWin?.size?.[1] ?? 0);
- const winArea = (win?.size?.[0] ?? 0) * (win?.size?.[1] ?? 0);
- return winArea > maxArea ? win : maxWin;
- }, null);
- }
-
- Component.onCompleted: {
- scheduleUpdates(true, true, true, true, true);
- flushPendingUpdates();
- }
-
- Connections {
- target: Hyprland
-
- function onRawEvent(event) {
- const eventName = `${event?.name ?? event?.event ?? event?.type ?? ""}`;
- if (["openlayer", "closelayer", "screencast"].includes(eventName))
- return;
-
- if (eventName === "openwindow" || eventName === "closewindow" || eventName === "movewindow" || eventName === "movewindowv2" || eventName === "windowtitle") {
- scheduleUpdates(true, false, false, true, false);
- return;
- }
-
- if (eventName === "workspace" || eventName === "workspacev2" || eventName === "focusedmon" || eventName === "focusedmonv2" || eventName === "activewindow" || eventName === "activewindowv2") {
- scheduleUpdates(false, false, false, true, true);
- return;
- }
-
- if (eventName.startsWith("monitor") || eventName === "configreloaded") {
- scheduleUpdates(true, true, false, true, true);
- return;
- }
-
- scheduleUpdates(true, true, true, true, true);
- }
- }
-
- Timer {
- id: eventDebounceTimer
- interval: Math.max(0, Config.options.hacks.hyprlandEventDebounceMs)
- repeat: false
- onTriggered: root.flushPendingUpdates()
- }
-
- Process {
- id: getClients
- command: ["hyprctl", "clients", "-j"]
- stdout: StdioCollector {
- id: clientsCollector
- onStreamFinished: {
- root.windowList = JSON.parse(clientsCollector.text);
- let tempWinByAddress = {};
- for (var i = 0; i < root.windowList.length; ++i) {
- var win = root.windowList[i];
- tempWinByAddress[win.address] = win;
- }
- root.windowByAddress = tempWinByAddress;
- root.addresses = root.windowList.map(win => win.address);
- }
- }
- }
-
- Process {
- id: getMonitors
- command: ["hyprctl", "monitors", "-j"]
- stdout: StdioCollector {
- id: monitorsCollector
- onStreamFinished: {
- root.monitors = JSON.parse(monitorsCollector.text);
- }
- }
- }
-
- Process {
- id: getLayers
- command: ["hyprctl", "layers", "-j"]
- stdout: StdioCollector {
- id: layersCollector
- onStreamFinished: {
- root.layers = JSON.parse(layersCollector.text);
- }
- }
- }
-
- Process {
- id: getWorkspaces
- command: ["hyprctl", "workspaces", "-j"]
- stdout: StdioCollector {
- id: workspacesCollector
- onStreamFinished: {
- const rawWorkspaces = JSON.parse(workspacesCollector.text);
- root.allWorkspaces = rawWorkspaces;
- root.workspaces = rawWorkspaces.filter(ws => ws.id >= 1 && ws.id <= 100);
- let tempWorkspaceById = {};
- for (var i = 0; i < root.workspaces.length; ++i) {
- var ws = root.workspaces[i];
- tempWorkspaceById[ws.id] = ws;
- }
- root.workspaceById = tempWorkspaceById;
- root.workspaceIds = root.workspaces.map(ws => ws.id);
- }
- }
- }
-
- Process {
- id: getActiveWorkspace
- command: ["hyprctl", "activeworkspace", "-j"]
- stdout: StdioCollector {
- id: activeWorkspaceCollector
- onStreamFinished: {
- root.activeWorkspace = JSON.parse(activeWorkspaceCollector.text);
- }
- }
- }
-}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage