diff options
Diffstat (limited to '.local/bin/sysact')
-rwxr-xr-x | .local/bin/sysact | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/.local/bin/sysact b/.local/bin/sysact new file mode 100755 index 0000000..b07e1c9 --- /dev/null +++ b/.local/bin/sysact @@ -0,0 +1,16 @@ +#!/bin/sh +# A dmenu wrapper script for system functions. + +case "$(readlink -f /sbin/init)" in + *systemd*) ctl='systemctl' ;; + *) ctl='loginctl' ;; +esac + +case "$(printf " lock\n renew dwm\n reboot\n shutdown\n display off" | dmenu -i -p 'Action: ')" in + ' lock') slock ;; + ' renew dwm') kill -HUP "$(pgrep -u "$USER" "\bdwm$")" ;; + ' reboot') $ctl reboot ;; + ' shutdown') $ctl poweroff ;; + ' display off') xset dpms force off ;; + *) exit 1 ;; +esac |