summaryrefslogtreecommitdiff
path: root/scripts/.local/bin/sysact
blob: e7eab1c2f1d2753e38bd40c44e49fa2a0e33ac64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh

dmenu="$HOME/.local/bin/cdmenu"

# A dmenu wrapper script for system functions.
case "$(readlink -f /sbin/init)" in
	*systemd*) ctl='systemctl' ;;
	*) ctl='loginctl' ;;
esac

if [ -z "$1" ]; then
    cmd=$(printf 'lock\nleave dwm\nrenew dwm\nhibernate\nsleep\nreboot\nshutdown\ndisplay off' | $dmenu -i -p 'Action: ')
else
    cmd=$1
fi

case "$cmd" in
    'lock') slock ;;
	'leave dwm') kill -TERM "$(pgrep -u "$USER" "\bdwm$")" ;;
	'renew dwm') kill -HUP "$(pgrep -u "$USER" "\bdwm$")" ;;
	'hibernate') slock $ctl hibernate ;;
	'sleep') slock $ctl suspend ;;
	'reboot') $ctl reboot ;;
	'shutdown') $ctl poweroff ;;
	'display off') xset dpms force off ;;
	*) exit 1 ;;
esac