services: Add swayidle processing as service

swayidle is now also presented as a user service managed by runit on
voidlinux. It comes with the same defaults as before (300 seconds to
lockscreen, 600 seconds to screen dimming and 900 seconds before
suspending).

Additionally the lockscreen script has been updated to correctly tell a
wayland from a non-wayland session without logind being available on the
system, though it still defaults to using loginctl if it finds it.

The service runs as swayidle in the user services directory and can be
confirured using a 'conf' file which would be placed in the 'swayidle'
service directory. Timeouts can be set with `time_to_lockscreen`,
`time_to_screendim` and `time_to_suspend`.
This commit is contained in:
Marty Oehme 2025-02-25 19:18:32 +01:00
parent b0ab5c59dd
commit c00cbdbade
Signed by: Marty
GPG key ID: 4E535BC19C61886E
4 changed files with 33 additions and 11 deletions

View file

@ -340,16 +340,15 @@ if ! cat /etc/*-release | grep -q '^NAME=.*Void'; then
unset loc
fi
fi
# start screen idle locking/dimming/sleep tool
should_start swayidle && riverctl spawn "swayidle \
# start screen idle locking/dimming/sleep tool
should_start swayidle && riverctl spawn "swayidle \
timeout ${time_to_suspend} \"[ $(cat /sys/class/power_supply/AC/online) -eq 0 ] && systemctl suspend-then-hibernate\"
timeout ${time_to_screendim} \"wlopm --off '*'\" \
resume \"wlopm --on '*'\" \
timeout ${time_to_lockscreen} \"pidof waylock || lockscreen\" \
after-resume \"wlopm --on '*'\" \
before-sleep \"pidof waylock || lockscreen\" &"
fi
# bash ~/.config/bin/gtktheme # setting our gtk variables
# killall polkit-gnome-authentication-agent-1