summaryrefslogtreecommitdiff
path: root/scripts/dmenu-dwm-sessionmanager
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/dmenu-dwm-sessionmanager')
-rwxr-xr-xscripts/dmenu-dwm-sessionmanager44
1 files changed, 44 insertions, 0 deletions
diff --git a/scripts/dmenu-dwm-sessionmanager b/scripts/dmenu-dwm-sessionmanager
new file mode 100755
index 0000000..03343a0
--- /dev/null
+++ b/scripts/dmenu-dwm-sessionmanager
@@ -0,0 +1,44 @@
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
9sudo=doas
10wmname="dwm"
11shutdown_cmd="$sudo poweroff"
12reboot_cmd="$sudo reboot"
13closewm_cmd="pkill $wmname"
14
15menu="dmenu -i"
16prompt="Do you want to quit?"
17
18usage() {
19 echo "Usage: dmenu-dwm-sessionmanager [-m MENU]"
20}
21
22while getopts "m:" opt; do
23 case "$opt" in
24 m)
25 menu="$OPTARG"
26 ;;
27 *)
28 usage
29 exit 1
30 ;;
31 esac
32done
33shift $((OPTIND - 1))
34
35value=$(printf 'Shutdown\nReboot\nQuit dwm\n' | $menu -p "$prompt")
36
37if [ "$value" = "Shutdown" ]; then
38 $shutdown_cmd
39elif [ "$value" = "Reboot" ]; then
40 $reboot_cmd
41elif [ "$value" = "Quit $wmname" ]; then
42 $closewm_cmd
43fi
44

Generated with cgit - Back to sebastiano.tronto.net