diff --git a/etc/skel/.config/swayidle/config b/etc/skel/.config/swayidle/config new file mode 100644 index 0000000..36c92e1 --- /dev/null +++ b/etc/skel/.config/swayidle/config @@ -0,0 +1,6 @@ +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 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' +before-sleep 'playerctl pause' +before-sleep ~/.config/swaylock/lock.sh +lock ~/.config/swaylock/lock.sh diff --git a/etc/sway/config.d/40-autostart-applications.conf b/etc/sway/config.d/40-autostart-applications.conf index f55a141..bc89a8d 100644 --- a/etc/sway/config.d/40-autostart-applications.conf +++ b/etc/sway/config.d/40-autostart-applications.conf @@ -3,7 +3,6 @@ exec { $polkit_agent - $idle $swappy_notify $wlsunset $autotiling @@ -15,7 +14,6 @@ exec { } exec_always { $kanshi - $spice_vdagent $nwg_drawer_daemon $watch_playerctl $calendar_daemon diff --git a/etc/sway/variables b/etc/sway/variables index 560c5f0..7d1da5a 100644 --- a/etc/sway/variables +++ b/etc/sway/variables @@ -61,24 +61,6 @@ set $help_menu '[ -x "$(command -v nwg-wrapper)" ] && [ -f $HOME/.config/nwg-wra # Help overlay command set $help /usr/share/sway/scripts/help.sh --toggle -### Idle configuration -# 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 -# resumed. It will also lock your screen before your computer goes to sleep. -# -set $lock ~/.config/swaylock/lock.sh -set $idle_timeout 240 -set $locking_timeout 300 -set $screen_timeout 600 -set $idle swayidle -w \ - timeout $idle_timeout 'light -G > /tmp/brightness && light -S 10' resume 'light -S $([ -f /tmp/brightness ] && cat /tmp/brightness || echo 100%)' \ - timeout $locking_timeout $lock \ - timeout $screen_timeout 'swaymsg "output * power off"' \ - resume 'swaymsg "output * power on"' \ - before-sleep 'playerctl pause' \ - before-sleep $lock \ - lock $lock & - # Workspace names set $ws1 number 1 set $ws2 number 2 @@ -131,9 +113,6 @@ set $cliphist_watch '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliph # Start nwg-drawer as a daemon set $nwg_drawer_daemon '[ -x "$(command -v nwg-drawer)" ] && nwg-drawer -r' -# SPICE agent -set $spice_vdagent '[ -x "$(command -v spice-vdagent)" ] && spice-vdagent' - # Start playerctl as daemon set $watch_playerctl '[ -x "$(command -v playerctl)" ] && pkill playerctl; playerctl -a metadata --format \'{{status}} {{title}}\' --follow | while read line; do pkill -RTMIN+5 waybar; done' diff --git a/usr/lib/systemd/user/swayidle.service b/usr/lib/systemd/user/swayidle.service new file mode 100644 index 0000000..55f8f3b --- /dev/null +++ b/usr/lib/systemd/user/swayidle.service @@ -0,0 +1,11 @@ +[Unit] +Description=Idle manager for Wayland +Documentation=man:swayidle(1) +PartOf=graphical-session.target + +[Service] +Type=simple +ExecStart=/usr/bin/swayidle + +[Install] +WantedBy=sway-session.target