island: keep the dismiss layer down for notification popups

fixes #3915
port 2.0

(cherry picked from commit 5442f3923b)
This commit is contained in:
bbedward authored and dux-ci[bot] committed 2026-10-27 14:29:10 +00:00
1 parent 3dc1aed318
commit b34a80b78f
4 files changed
+6 -2

No files matched your search

@@ -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
@@ -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)
@@ -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"
+3
View File
@@ -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
});