diff options
| author | sommerfeld <sommerfeld@sommerfeld.dev> | 2026-08-14 14:21:04 +0100 |
|---|---|---|
| committer | sommerfeld <sommerfeld@sommerfeld.dev> | 2026-08-14 14:21:04 +0100 |
| commit | c678c19a30f61ab9736e206457b14b26843ae18f (patch) | |
| tree | 46d4d907f9209daba8bced7855cf5f37003e71d5 /dot_config/systemd/user/swayidle.service | |
| parent | 0c602b7c6b273b9a5ab7f602bd34da8b63cd8d44 (diff) | |
| download | dotfiles-c678c19a30f61ab9736e206457b14b26843ae18f.tar.gz dotfiles-c678c19a30f61ab9736e206457b14b26843ae18f.tar.bz2 dotfiles-c678c19a30f61ab9736e206457b14b26843ae18f.zip | |
Improve Sway display recovery
Diffstat (limited to 'dot_config/systemd/user/swayidle.service')
| -rw-r--r-- | dot_config/systemd/user/swayidle.service | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/dot_config/systemd/user/swayidle.service b/dot_config/systemd/user/swayidle.service index bd0dca5..2ba80e7 100644 --- a/dot_config/systemd/user/swayidle.service +++ b/dot_config/systemd/user/swayidle.service @@ -1,5 +1,5 @@ [Unit] -Description=Idle manager for Wayland (lock + DPMS) +Description=Idle manager for Wayland (dim + lock + DPMS) PartOf=graphical-session.target After=graphical-session.target ConditionEnvironment=WAYLAND_DISPLAY @@ -7,12 +7,14 @@ ConditionEnvironment=WAYLAND_DISPLAY [Service] Type=simple ExecStart=%h/.nix-profile/bin/swayidle -w \ - timeout 300 'swaymsg "output * power off"' \ - resume 'swaymsg "output * power on"' \ - timeout 330 'swaylock -f -e -c 000000' \ + timeout 300 'brightnessctl -s set 10% || true' \ + resume 'brightnessctl -r || true' \ + timeout 330 'pgrep -x swaylock >/dev/null || swaylock -f -e -c 000000' \ + timeout 360 'swaymsg "output * power off"' \ + resume '%h/.config/sway/display-wake.sh' \ timeout 1800 '%h/.local/bin/on-battery-suspend' \ - before-sleep 'playerctl -a pause; swaylock -f -e -c 000000' \ - lock 'swaylock -f -e -c 000000' + before-sleep 'playerctl -a pause; pgrep -x swaylock >/dev/null || swaylock -f -e -c 000000' \ + lock 'pgrep -x swaylock >/dev/null || swaylock -f -e -c 000000' Restart=on-failure RestartSec=2s |
