diff options
Diffstat (limited to '.local/bin/sysact')
-rwxr-xr-x | .local/bin/sysact | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/.local/bin/sysact b/.local/bin/sysact new file mode 100755 index 0000000..5249070 --- /dev/null +++ b/.local/bin/sysact @@ -0,0 +1,22 @@ +#!/bin/sh + +# A dmenu wrapper script for system functions. + +# For non-systemd init systems. +case "$(readlink -f /sbin/init)" in + *runit*) hib="sudo -A zzz" ;; + *openrc*) reb="sudo -A openrc-shutdown -r"; shut="sudo -A openrc-shutdown -p 0" ;; +esac + +cmds="\ + lock sudo loginctl lock-sessions + leave dwm killall xinit + renew dwm killall dwm + hibernate sudo loginctl hibernate + reboot ${reb:-sudo -A reboot} + shutdown ${shut:-sudo -A shutdown -h now} + display off xset dpms force off" + +choice="$(echo "$cmds" | cut -d' ' -f 1 | dmenu)" || exit 1 + +`echo "$cmds" | grep "^$choice " | cut -d ' ' -f2-` |