diff --git a/quickshell/Modules/DIsland/DIslandHostWindow.qml b/quickshell/Modules/DIsland/DIslandHostWindow.qml index 272c15869..5a989bcd6 100644 --- a/quickshell/Modules/DIsland/DIslandHostWindow.qml +++ b/quickshell/Modules/DIsland/DIslandHostWindow.qml @@ -40,7 +40,7 @@ Item { id: dismissWindow screen: root.screen - visible: !!root.body && root.body.expanded && !PopoutManager.screenshotActive + visible: !!root.islandController && root.islandController.outsideClickCollapses && !PopoutManager.screenshotActive color: "transparent" exclusiveZone: -1 diff --git a/quickshell/Modules/DIsland/IslandController.qml b/quickshell/Modules/DIsland/IslandController.qml index f6a462704..a7257de5f 100644 --- a/quickshell/Modules/DIsland/IslandController.qml +++ b/quickshell/Modules/DIsland/IslandController.qml @@ -496,6 +496,7 @@ QtObject { readonly property bool systemActivityActive: isSystemActivity(activeActivity) readonly property bool notificationActive: activeActivity === "notification" + readonly property bool outsideClickCollapses: expanded && !notificationActive readonly property bool notificationHeldForSystem: root.systemActivityActive && root.transientReturnActivity === "notification" readonly property bool transientActive: systemActivityActive || notificationActive readonly property bool timeoutSuspended: pointerInside || (expanded && !notificationActive) diff --git a/quickshell/Modules/DIsland/IslandFreeHostWindow.qml b/quickshell/Modules/DIsland/IslandFreeHostWindow.qml index 3b20a228b..cfe7b4cac 100644 --- a/quickshell/Modules/DIsland/IslandFreeHostWindow.qml +++ b/quickshell/Modules/DIsland/IslandFreeHostWindow.qml @@ -245,7 +245,7 @@ PanelWindow { PanelWindow { id: dismissWindow screen: root.screen - visible: root.expanded && !body.inputSuspended + visible: body.islandController.outsideClickCollapses && !body.inputSuspended color: "transparent" exclusiveZone: -1 WlrLayershell.namespace: "dms:dankisland-dismiss" diff --git a/quickshell/Modules/Lock/Lock.qml b/quickshell/Modules/Lock/Lock.qml index 30d4f1ad4..ddff32209 100644 --- a/quickshell/Modules/Lock/Lock.qml +++ b/quickshell/Modules/Lock/Lock.qml @@ -106,6 +106,7 @@ Scope { } function spawnCustomLocker() { + log.info("Handing the lock to the custom lock command instead of the session lock"); IdleService.lockPowerOffRequested = false; Quickshell.execDetached(["sh", "-c", SettingsData.customPowerActionLock]); // The custom locker manages its own surface; DMS never engages @@ -443,6 +444,8 @@ Scope { lockRetryAttempts: root.lockRetryAttempts, lockInitiatedLocally: root.lockInitiatedLocally, pendingLock: root.pendingLock, + customLocker: SettingsData.customPowerActionLock?.length > 0, + customLockerSpawned: root.customLockerSpawned, loginctlLocked: SessionService.locked, loginctlActive: SessionService.active });