#!/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