diff options
Diffstat (limited to 'overlays/quickshell')
| -rw-r--r-- | overlays/quickshell/default.nix | 1 | ||||
| -rw-r--r-- | overlays/quickshell/notify-session-unlock.patch | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/overlays/quickshell/default.nix b/overlays/quickshell/default.nix index 7b719231..47aee5ac 100644 --- a/overlays/quickshell/default.nix +++ b/overlays/quickshell/default.nix | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | 17 | ||
| 18 | patches = (oldAttrs.patches or []) ++ [ | 18 | patches = (oldAttrs.patches or []) ++ [ |
| 19 | # ./lock-state-changed.patch | 19 | # ./lock-state-changed.patch |
| 20 | ./notify-session-unlock.patch | ||
| 20 | ./pipewire.patch | 21 | ./pipewire.patch |
| 21 | ./io.patch | 22 | ./io.patch |
| 22 | ./close-stdin.patch | 23 | ./close-stdin.patch |
diff --git a/overlays/quickshell/notify-session-unlock.patch b/overlays/quickshell/notify-session-unlock.patch new file mode 100644 index 00000000..d0b835eb --- /dev/null +++ b/overlays/quickshell/notify-session-unlock.patch | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | diff --git i/src/wayland/session_lock.cpp w/src/wayland/session_lock.cpp | ||
| 2 | index 43d80e2..742d683 100644 | ||
| 3 | --- i/src/wayland/session_lock.cpp | ||
| 4 | +++ w/src/wayland/session_lock.cpp | ||
| 5 | @@ -179,8 +179,9 @@ void WlSessionLock::unlock() { | ||
| 6 | |||
| 7 | this->surfaces.clear(); | ||
| 8 | |||
| 9 | + auto wasLocked = this->isLocked(); | ||
| 10 | if (this->manager) this->manager->unlock(); | ||
| 11 | - if (this->isLocked()) emit this->lockStateChanged(); | ||
| 12 | + if (wasLocked != this->isLocked()) emit this->lockStateChanged(); | ||
| 13 | } | ||
| 14 | |||
| 15 | void WlSessionLock::onScreensChanged() { | ||
