[rc/sway] bind XF86PowerOff to prompt for system exit action
[~bandali/configs] / rc.org
diff --git a/rc.org b/rc.org
index 96a7dd5..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
@@ -3795,18 +3799,12 @@ output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
 # You can get the names of your outputs by running: swaymsg -t get_outputs
 
 ### Idle configuration
-#
-# Example configuration:
-#
-#exec swayidle \
-#    timeout 300 'swaylock -c 000000' \
-#    timeout 600 'swaymsg "output * dpms off"' \
-#       resume 'swaymsg "output * dpms on"' \
-#    before-sleep 'swaylock -c 000000'
-#
-# This will lock your screen after 300 seconds of inactivity, then turn off
-# your displays after another 600 seconds, and turn your screens back on when
-# resumed. It will also lock your screen before your computer goes to sleep.
+
+exec swayidle \
+   timeout 120 swaylock \
+   timeout 180 'swaymsg "output * dpms off"' \
+      resume   'swaymsg "output * dpms on"'  \
+   before-sleep swaylock
 
 ### Input configuration
 
@@ -3818,6 +3816,14 @@ input "1739:31251:DLL07BE:01_06CB:7A13_Touchpad" {
     click_method clickfinger
 }
 
+input "2:7:SynPS/2_Synaptics_TouchPad" {
+    events disabled
+    dwt enabled
+    tap enabled
+    natural_scroll enabled
+    click_method clickfinger
+}
+
 input "1:1:AT_Translated_Set_2_keyboard" {
     repeat_delay 200
     repeat_rate 45
@@ -3988,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:
 #
@@ -4002,9 +4029,22 @@ bar {
     status_command i3status
 }
 
+# font pango: benis uushi 9
+font pango: Ubuntu Mono 11
+
 include /etc/sway/config.d/*
 #+end_src
 
+** swaylock
+:PROPERTIES:
+:header-args+: :tangle ~/.config/swaylock/config
+:END:
+
+#+begin_src conf
+image=/home/amin/usr/pics/wp/wp2445784-blurred-wallpapers.jpg
+scaling=fill
+#+end_src
+
 ** TLP
 
 *** langa
@@ -4251,11 +4291,12 @@ USB_BLACKLIST_WWAN=1
 # Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
 #   are ignored when this is enabled!
 #RESTORE_DEVICE_STATE_ON_STARTUP=0
-RESTORE_DEVICE_STATE_ON_STARTUP=1
+RESTORE_DEVICE_STATE_ON_STARTUP=0
 
 # Radio devices to disable on startup: bluetooth, wifi, wwan.
 # Separate multiple devices with spaces.
 #DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
+DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
 
 # Radio devices to enable on startup: bluetooth, wifi, wwan.
 # Separate multiple devices with spaces.