i3exit 731 Bytes
Newer Older
1
2
3
4
5
6
7
8
#!/bin/sh
# /usr/bin/i3exit

# with openrc use loginctl
[[ $(cat /proc/1/comm) == "systemd" ]] && logind=systemctl || logind=loginctl

case "$1" in
    lock)
9
        dm-tool lock
10
11
12
13
14
15
16
17
        ;;
    logout)
        i3-msg exit
        ;;
    switch_user)
    	dm-tool switch-to-greeter
    	;;
    suspend)
18
        dm-tool lock && sleep 1 && $logind suspend
19
20
        ;;
    hibernate)
21
    	dm-tool lock && sleep 1 &&  $logind hibernate
22
23
24
25
26
27
28
29
30
31
32
33
34
35
        ;;
    reboot)
        $logind reboot
        ;;
    shutdown)
        $logind poweroff
    	;;
    *)
        echo "== ! i3exit: missing or invalid argument ! =="
        echo "Try again with: lock | logout | switch_user | suspend | hibernate | reboot | shutdown"
        exit 2
esac

exit 0