From 3dd5e78b35e00e765f1b778e34400873b3021968 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sun, 28 Sep 2025 16:43:43 +0200 Subject: [PATCH] overview: force floating windows to be on top of tiling ones (#2068) --- .config/quickshell/ii/modules/overview/OverviewWidget.qml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.config/quickshell/ii/modules/overview/OverviewWidget.qml b/.config/quickshell/ii/modules/overview/OverviewWidget.qml index 51b1acbe3..27a095ac6 100644 --- a/.config/quickshell/ii/modules/overview/OverviewWidget.qml +++ b/.config/quickshell/ii/modules/overview/OverviewWidget.qml @@ -148,17 +148,16 @@ Item { model: ScriptModel { values: { // console.log(JSON.stringify(ToplevelManager.toplevels.values.map(t => t), null, 2)) - return ToplevelManager.toplevels.values.filter((toplevel) => { + return [...ToplevelManager.toplevels.values.filter((toplevel) => { const address = `0x${toplevel.HyprlandToplevel?.address}` var win = windowByAddress[address] const inWorkspaceGroup = (root.workspaceGroup * root.workspacesShown < win?.workspace?.id && win?.workspace?.id <= (root.workspaceGroup + 1) * root.workspacesShown) return inWorkspaceGroup; - }) + })].reverse() } } delegate: OverviewWindow { id: window - windowData: windowByAddress[address] required property var modelData property int monitorId: windowData?.monitor property var monitor: HyprlandData.monitors.find(m => m.id == monitorId) @@ -169,6 +168,7 @@ Item { availableWorkspaceWidth: root.workspaceImplicitWidth availableWorkspaceHeight: root.workspaceImplicitHeight widgetMonitorId: root.monitor.id + windowData: windowByAddress[address] property bool atInitPosition: (initX == x && initY == y) @@ -188,7 +188,7 @@ Item { } } - z: atInitPosition ? root.windowZ : root.windowDraggingZ + z: atInitPosition ? (root.windowZ + windowData?.floating) : root.windowDraggingZ Drag.hotSpot.x: targetWindowWidth / 2 Drag.hotSpot.y: targetWindowHeight / 2 MouseArea {