aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config
diff options
context:
space:
mode:
Diffstat (limited to 'dot_config')
-rw-r--r--dot_config/sway/config7
-rw-r--r--dot_config/systemd/user/sway-session.target2
-rw-r--r--dot_config/systemd/user/swayidle.service19
3 files changed, 20 insertions, 8 deletions
diff --git a/dot_config/sway/config b/dot_config/sway/config
index d1357a7..966c6ca 100644
--- a/dot_config/sway/config
+++ b/dot_config/sway/config
@@ -155,10 +155,3 @@ exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CU
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
exec "sleep 2 && ~/.config/sway/display-toggle.sh init"
exec systemctl --user start sway-session.target
-
-# Idle: lock at 5min (matches IdleActionSec), blank at 6min, lock before sleep.
-exec swayidle -w \
- timeout 300 'swaylock -f -e -c 282828' \
- timeout 360 'swaymsg "output * power off"' \
- resume 'swaymsg "output * power on"' \
- before-sleep 'playerctl -a pause; swaylock -f -e -c 282828'
diff --git a/dot_config/systemd/user/sway-session.target b/dot_config/systemd/user/sway-session.target
index ba1d37b..db57db4 100644
--- a/dot_config/systemd/user/sway-session.target
+++ b/dot_config/systemd/user/sway-session.target
@@ -2,6 +2,6 @@
Description=sway compositor session
Documentation=man:systemd.special(7)
BindsTo=graphical-session.target
-Wants=graphical-session-pre.target mako.service poweralertd.service display-watcher.service
+Wants=graphical-session-pre.target mako.service poweralertd.service display-watcher.service swayidle.service
After=graphical-session-pre.target
StopWhenUnneeded=yes
diff --git a/dot_config/systemd/user/swayidle.service b/dot_config/systemd/user/swayidle.service
new file mode 100644
index 0000000..8a99bfb
--- /dev/null
+++ b/dot_config/systemd/user/swayidle.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=Idle manager for Wayland (lock + DPMS + before-sleep)
+PartOf=graphical-session.target
+After=graphical-session.target
+ConditionEnvironment=WAYLAND_DISPLAY
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/swayidle -w \
+ timeout 300 'swaylock -f -e -c 282828' \
+ timeout 360 'swaymsg "output * power off"' \
+ resume 'swaymsg "output * power on"' \
+ before-sleep 'playerctl -a pause; swaylock -f -e -c 282828' \
+ lock 'swaylock -f -e -c 282828'
+Restart=on-failure
+RestartSec=2s
+
+[Install]
+WantedBy=sway-session.target