dotfiles-x11a04391c
sysact
+26 −16
2 files changed
- A .local/bin/sysact +26 −0
- D .local/bin/system_action +0 −16
| @@ -0,0 +1,26 @@ | |||
| 1 | + | #!/bin/sh | |
| 2 | + | ||
| 3 | + | export WM="dwm" | |
| 4 | + | case "$(readlink -f /sbin/init)" in | |
| 5 | + | *systemd*) ctl='systemctl' ;; | |
| 6 | + | *) ctl='loginctl' ;; | |
| 7 | + | esac | |
| 8 | + | ||
| 9 | + | wmpid(){ # This function is needed if there are multiple instances of the window manager. | |
| 10 | + | tree="$(pstree -ps $$)" | |
| 11 | + | tree="${tree#*$WM(}" | |
| 12 | + | echo "${tree%%)*}" | |
| 13 | + | } | |
| 14 | + | ||
| 15 | + | ||
| 16 | + | case "$(printf " lock\n leave $WM\n renew $WM\n hibernate\n reboot\n shutdown\n sleep\n display off" | dmenu -i -l 15 -p 'Action: ')" in | |
| 17 | + | ' lock') slock ;; | |
| 18 | + | " leave $WM") kill -TERM "$(wmpid)" ;; | |
| 19 | + | " renew $WM") kill -HUP "$(wmpid)" ;; | |
| 20 | + | ' hibernate') slock $ctl hibernate -i ;; | |
| 21 | + | ' sleep') slock $ctl suspend -i ;; | |
| 22 | + | ' reboot') $ctl reboot -i ;; | |
| 23 | + | ' shutdown') $ctl poweroff -i ;; | |
| 24 | + | ' display off') xset dpms force off ;; | |
| 25 | + | *) exit 1 ;; | |
| 26 | + | esac | |
| @@ -1,16 +0,0 @@ | |||
| 1 | − | #!/bin/sh | |
| 2 | − | ||
| 3 | − | case "$(readlink -f /sbin/init)" in | |
| 4 | − | *systemd*) ctl='systemctl' ;; | |
| 5 | − | *) ctl='loginctl' ;; | |
| 6 | − | esac | |
| 7 | − | ||
| 8 | − | case "$(printf " lock\n display off\n logout\n sleep\n reboot\n shutdown" | dmenu -i -p '>_ ')" in | |
| 9 | − | ' lock') slock ;; | |
| 10 | − | ' display off') xset dpms force off ;; | |
| 11 | − | ' logout') kill -TERM "$(pgrep -u "$USER" "\bdwm$")" ;; | |
| 12 | − | ' sleep') slock $ctl suspend ;; | |
| 13 | − | ' reboot') $ctl reboot ;; | |
| 14 | − | ' shutdown') $ctl poweroff ;; | |
| 15 | − | *) exit 1 ;; | |
| 16 | − | esac | |