aboutsummaryrefslogtreecommitdiff
path: root/scripts/.local/bin/personal/powermenu
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/.local/bin/personal/powermenu')
-rwxr-xr-xscripts/.local/bin/personal/powermenu28
1 files changed, 28 insertions, 0 deletions
diff --git a/scripts/.local/bin/personal/powermenu b/scripts/.local/bin/personal/powermenu
new file mode 100755
index 0000000..0a26582
--- /dev/null
+++ b/scripts/.local/bin/personal/powermenu
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+
+UPTIME=$(uptime -p | sed -e 's/up //g')
+DWM_PID="$(pidof dwm)"
+
+OPTION_CANCEL="Cancel"
+OPTION_SHUTDOWN="Shutdown"
+OPTION_REBOOT="Restart"
+OPTION_LOGOUT="Logout"
+OPTION_LOCK="Lock"
+
+OPTIONS="$OPTION_CANCEL\n$OPTION_SHUTDOWN\n$OPTION_REBOOT\n$OPTION_LOCK\n$OPTION_LOGOUT"
+SELECTED="$(echo -e "$OPTIONS" | dmenu -i -l 5 -p "Uptime: $UPTIME" -z 700 -h 30 -y 900 -x 1090 -fn 'JetBrains Mono:size=19')"
+
+case $SELECTED in
+ $OPTION_SHUTDOWN)
+ sudo systemctl poweroff
+ ;;
+ $OPTION_REBOOT)
+ sudo systemctl reboot
+ ;;
+ $OPTION_LOCK)
+ slock
+ ;;
+ $OPTION_LOGOUT)
+ kill -TERM $DWM_PID
+ ;;
+esac