scripts

Various scripts for UNIX-like systems
git clone https://git.tronto.net/scripts
Download | Log | Files | Refs | README

dmenu-dwm-sessionmanager (742B)


      1 #!/bin/sh
      2 
      3 # Prompts menu to shutdown/reboot/close dwm
      4 # Requires: dmenu (or equivalent), dwm (optional)
      5 
      6 # Usage: dmenu-dwm-sessionmanager [-m menu]
      7 
      8 #sudo=sudo
      9 sudo=doas
     10 wmname="dwm"
     11 shutdown_cmd="$sudo poweroff"
     12 reboot_cmd="$sudo reboot"
     13 closewm_cmd="pkill $wmname"
     14 
     15 menu="dmenu -i"
     16 prompt="Do you want to quit?"
     17 
     18 usage() {
     19 	echo "Usage: dmenu-dwm-sessionmanager [-m MENU]"
     20 }
     21 
     22 while getopts "m:" opt; do
     23 	case "$opt" in
     24 		m)
     25 			menu="$OPTARG"
     26 			;;
     27 		*)
     28 			usage
     29 			exit 1
     30 			;;
     31 	esac
     32 done
     33 shift $((OPTIND - 1))
     34 
     35 value=$(printf 'Shutdown\nReboot\nQuit dwm\n' | $menu -p "$prompt")
     36 
     37 if [ "$value" = "Shutdown" ]; then
     38 	$shutdown_cmd
     39 elif [ "$value" = "Reboot" ]; then
     40 	$reboot_cmd
     41 elif [ "$value" = "Quit $wmname" ]; then
     42 	$closewm_cmd
     43 fi
     44