Combine screen lock script for i3 and sway

This commit is contained in:
2022-06-09 19:49:07 +02:00
parent 932e0a0b14
commit 6e9e55bfd9
6 changed files with 46 additions and 64 deletions

View File

@ -32,7 +32,7 @@ exec --no-startup-id dex --autostart --environment i3
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen. # screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock-cool exec --no-startup-id xss-lock --transfer-sleep-lock -- screenlock
# NetworkManager is the most popular way to manage wireless networks on Linux, # NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it. # and nm-applet is a desktop environment-independent system tray GUI for it.
@ -64,7 +64,7 @@ bindsym $mod+e exec --no-startup-id dmenu_run
# lock screen # lock screen
#bindsym $mod+Shift+l exec loginctl lock-session #bindsym $mod+Shift+l exec loginctl lock-session
bindsym $mod+Shift+l exec i3lock-cool bindsym $mod+Shift+l exec screenlock
# change focus # change focus
bindsym $mod+h focus left bindsym $mod+h focus left

View File

@ -50,9 +50,9 @@ exec mako
### Idle configuration ### Idle configuration
exec swayidle -w \ exec swayidle -w \
timeout 300 'swaylock-cool -fFe' \ timeout 300 'screenlock -fFe' \
timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock-cool -fFe' before-sleep 'screenlock -fFe'
# This will lock your screen after 300 seconds of inactivity, then turn off # This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when # your displays after another 300 seconds, and turn your screens back on when
@ -90,7 +90,7 @@ input * {
bindsym $mod+d exec $menu bindsym $mod+d exec $menu
# Lock the screen # Lock the screen
bindsym $mod+Shift+Plus exec "swaylock-cool -fFe" bindsym $mod+Shift+Plus exec "screenlock -fFe"
# Drag floating windows by holding down $mod and left mouse button. # Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod. # Resize them with right mouse button + $mod.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

View File

@ -1,31 +0,0 @@
#!/bin/sh
set -x
# check if i3lock is running
if ps -e | grep " i3lock$"; then
echo "i3lock is already running!"
exit 1
fi
OPTIONAL_CMDS="scrot lockscreen-blur"
for CMD in $OPTIONAL_CMDS; do
echo "checking $CMD"
if ! command -v "$CMD" &> /dev/null
then
echo "$CMD could not be found, falling back to basic mode."
i3lock -c 302f3b "$@"
exit 0
fi
done
TMP_IMG="/tmp/lock.png"
scrot - | lockscreen-blur -o "$TMP_IMG" -b 20 --stamp ~/.config/sway/ferris-stamp.png
i3lock -nef --image="$TMP_IMG" "$@"
rm "$TMP_IMG"

41
tree/.local/bin/screenlock.tpl Executable file
View File

@ -0,0 +1,41 @@
#!/bin/sh
TMP_IMG="/tmp/lock.png"
{% if hostname == "sputnik" %}
LOCKPROG=i3lock
LOCKARGS="-nef --image=$TMP_IMG"
LOCKARGS_NOCOOL="-c 302f3b"
OPTIONAL_CMDS="scrot lockscreen-blur"
SCREENCAP="scrot -"
BLUR_FACTOR=20
{% elif hostname == "sputnik" %}
LOCKPROG=swaylock
LOCKARGS="--config ~/.config/sway/swaylock.config --image $TMP_IMG"
LOCKARGS_NOCOOL="--config ~/.config/sway/swaylock.config --color 302f3b"
OPTIONAL_CMDS="grim lockscreen-blur"
SCREENCAP="grim -t ppm -"
BLUR_FACTOR=40
{% else %}
echo "screenlock not configured for this system"
exit 1
{% end %}
for CMD in $OPTIONAL_CMDS; do
if ! command -v "$CMD" &> /dev/null
then
echo "$CMD could not be found, falling back to basic mode."
$LOCKPROG $LOCKARGS_NOCOOL "$@"
exit 0
fi
done
$SCREENCAP | lockscreen-blur -o $TMP_IMG -b $BLUR_FACTOR --stamp ~/.config/wallpapers/ferris-stamp.png
$LOCKPROG $LOCKARGS "$@"

View File

@ -1,28 +0,0 @@
#!/bin/sh
# check if swaylock is running
if ps -e | grep " swaylock$"; then
echo "swaylock is already running!"
exit 1
fi
OPTIONAL_CMDS=("convert" "python3" "grim", "lockscreen-blur")
for CMD in $OPTIONAL_CMDS; do
if ! command -v "$CMD" &> /dev/null
then
echo "$CMD could not be found, falling back to basic mode."
swaylock --config ~/.config/sway/swaylock.config --color 302f3b "$@"
exit 0
fi
done
TMP_IMG="/tmp/lock.png"
grim -t ppm - | lockscreen-blur -o "$TMP_IMG" -b 40 --stamp ~/.config/sway/ferris-stamp.png
swaylock --config ~/.config/sway/swaylock.config --image "$TMP_IMG" "$@"
rm "$TMP_IMG"