From 2be7224e32af4f7ceded1725cf5c60d142385722 Mon Sep 17 00:00:00 2001 From: Alexander Oakman Date: Thu, 22 Aug 2024 20:31:34 +0300 Subject: [PATCH 1/2] Improve the lock screen command Running a screensaver is a very important security feature. It is necessary that it always works and does not depend on the state of the user's directories, so the screensaver run-script should be placed in the system directory. However, the locking process remains customizable because the user script can be used too. --- etc/skel/.config/nwg-bar/bar.json | 2 +- etc/skel/.config/swayidle/config | 6 +++--- usr/share/sway/scripts/lock.sh | 10 ++++++++++ .../lock.sh => usr/share/sway/scripts/swaylock.sh | 0 4 files changed, 14 insertions(+), 4 deletions(-) create mode 100755 usr/share/sway/scripts/lock.sh rename etc/skel/.config/swaylock/lock.sh => usr/share/sway/scripts/swaylock.sh (100%) diff --git a/etc/skel/.config/nwg-bar/bar.json b/etc/skel/.config/nwg-bar/bar.json index 4b03dbb..ac46314 100644 --- a/etc/skel/.config/nwg-bar/bar.json +++ b/etc/skel/.config/nwg-bar/bar.json @@ -1,7 +1,7 @@ [ { "label": "Lock", - "exec": "swaymsg exec ~/.config/swaylock/lock.sh", + "exec": "swaymsg exec /usr/share/sway/scripts/lock.sh", "icon": "system-lock-screen" }, { diff --git a/etc/skel/.config/swayidle/config b/etc/skel/.config/swayidle/config index 1863e11..cd26c15 100644 --- a/etc/skel/.config/swayidle/config +++ b/etc/skel/.config/swayidle/config @@ -1,7 +1,7 @@ timeout 240 'light -G > /tmp/brightness && light -S 10' resume 'light -S $([ -f /tmp/brightness ] && cat /tmp/brightness || echo 100%)' -timeout 300 ~/.config/swaylock/lock.sh +timeout 300 '/usr/share/sway/scripts/lock.sh' timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' timeout 900 'systemctl suspend' before-sleep 'playerctl pause' -before-sleep ~/.config/swaylock/lock.sh -lock ~/.config/swaylock/lock.sh +before-sleep '/usr/share/sway/scripts/lock.sh' +lock '/usr/share/sway/scripts/lock.sh' diff --git a/usr/share/sway/scripts/lock.sh b/usr/share/sway/scripts/lock.sh new file mode 100755 index 0000000..170253f --- /dev/null +++ b/usr/share/sway/scripts/lock.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +USER_SCRIPT="$HOME/.config/swaylock/lock.sh" +GLOB_SCRIPT="/usr/share/sway/scripts/swaylock.sh" + +if [[ -x "$USER_SCRIPT" ]]; then + "$USER_SCRIPT" +else + "$GLOB_SCRIPT" +fi diff --git a/etc/skel/.config/swaylock/lock.sh b/usr/share/sway/scripts/swaylock.sh similarity index 100% rename from etc/skel/.config/swaylock/lock.sh rename to usr/share/sway/scripts/swaylock.sh From d36e203e985cebe91aebce767049a590ead7898c Mon Sep 17 00:00:00 2001 From: Alexander Oakman Date: Thu, 22 Aug 2024 20:35:31 +0300 Subject: [PATCH 2/2] Fix the screensaver running hotkey The screensaver running hotkey didn't work because the appropriate command was not defined. --- etc/sway/variables | 3 +++ 1 file changed, 3 insertions(+) diff --git a/etc/sway/variables b/etc/sway/variables index c2eaa82..3d1d2e0 100644 --- a/etc/sway/variables +++ b/etc/sway/variables @@ -125,5 +125,8 @@ set $calendar_daemon 'calcurse --daemon' # Notifications from Swappy set $swappy_notify '[ -x "$(command -v swappy)" ] && /usr/share/sway/scripts/screenshot-notify.sh' +# Start a screensaver +set $lock '/usr/share/sway/scripts/lock.sh' + # Toggle shortcuts inhibition mode for the current focused window set $toggle_shorcuts_inhibitor 'swaymsg "seat - shortcuts_inhibitor toggle"'