[rc/sway] bind XF86PowerOff to prompt for system exit action
[~bandali/configs] / rc.org
diff --git a/rc.org b/rc.org
index dd9ca0a..654bd8e 100644 (file)
--- a/rc.org
+++ b/rc.org
@@ -3771,6 +3771,10 @@ insert_pass="Alt+n"
 #+begin_src conf
 exec xrdb .Xresources
 exec dunst
+exec pgrep -x "systemd-inhibit" || \
+     systemd-inhibit --what=handle-power-key --who=aminb \
+     --why="Handle power button in sway" sleep infinity
+
 ### Variables
 # super
 set $mod Mod4
@@ -3990,6 +3994,27 @@ mode "resize" {
 }
 bindsym $mod+Shift+r mode "resize"
 
+#
+# Power button
+#
+set $locker swaylock && sleep 1
+
+set $mode_system System (l)ock, (e)xit sway, (s)uspend, (h)ibernate, (r)eboot, (S)hutdown
+mode "$mode_system" {
+    bindsym l       exec $locker,                          mode "default"
+    bindsym e       exec swaymsg exit,                     mode "default"
+    bindsym s       exec $locker && systemctl suspend,     mode "default"
+    bindsym h       exec $locker && systemctl hibernate,   mode "default"
+    bindsym r       exec            systemctl reboot,      mode "default"
+    bindsym Shift+s exec            systemctl poweroff -i, mode "default"
+
+    # back to normal: Enter, Escape, or q
+    bindsym Return mode "default"
+    bindsym Escape mode "default"
+    bindsym q      mode "default"
+}
+bindsym XF86PowerOff mode "$mode_system"
+
 #
 # Status Bar:
 #
@@ -4005,7 +4030,7 @@ bar {
 }
 
 # font pango: benis uushi 9
-font pango: Ubuntu Mono 9
+font pango: Ubuntu Mono 11
 
 include /etc/sway/config.d/*
 #+end_src