diff --git a/.config/quickshell/ii/modules/overview/OverviewWidget.qml b/.config/quickshell/ii/modules/overview/OverviewWidget.qml index 9cfe9147..2510a564 100644 --- a/.config/quickshell/ii/modules/overview/OverviewWidget.qml +++ b/.config/quickshell/ii/modules/overview/OverviewWidget.qml @@ -149,14 +149,15 @@ Item { 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) - const inMonitor = root.monitor?.id === win.monitor - return inWorkspaceGroup && inMonitor; + return inWorkspaceGroup; }) } } delegate: OverviewWindow { id: window required property var modelData + property int monitorId: windowData?.monitor + property var monitor: HyprlandData.monitors[monitorId] property var address: `0x${modelData.HyprlandToplevel.address}` windowData: windowByAddress[address] toplevel: modelData @@ -164,9 +165,7 @@ Item { scale: root.scale availableWorkspaceWidth: root.workspaceImplicitWidth availableWorkspaceHeight: root.workspaceImplicitHeight - - property int monitorId: windowData?.monitor - property var monitor: HyprlandData.monitors[monitorId] + widgetMonitorId: root.monitor.id property bool atInitPosition: (initX == x && initY == y) diff --git a/.config/quickshell/ii/modules/overview/OverviewWindow.qml b/.config/quickshell/ii/modules/overview/OverviewWindow.qml index 8029ec4c..ba5bba10 100644 --- a/.config/quickshell/ii/modules/overview/OverviewWindow.qml +++ b/.config/quickshell/ii/modules/overview/OverviewWindow.qml @@ -22,6 +22,7 @@ Item { // Window property real initY: Math.max((windowData?.at[1] - (monitorData?.y ?? 0) - monitorData?.reserved[1]) * root.scale, 0) + yOffset property real xOffset: 0 property real yOffset: 0 + property int widgetMonitorId: 0 property var targetWindowWidth: windowData?.size[0] * scale property var targetWindowHeight: windowData?.size[1] * scale @@ -40,6 +41,7 @@ Item { // Window y: initY width: windowData?.size[0] * root.scale height: windowData?.size[1] * root.scale + opacity: windowData.monitor == widgetMonitorId ? 1 : 0.4 layer.enabled: true layer.effect: OpacityMask { @@ -69,6 +71,7 @@ Item { // Window captureSource: GlobalStates.overviewOpen ? root.toplevel : null live: true + // Color overlay for interactions Rectangle { anchors.fill: parent radius: Appearance.rounding.windowRounding * root.scale