mirror of
https://github.com/olexsmir/dotfiles.git
synced 2026-01-15 16:51:34 +02:00
49 lines
1.3 KiB
Bash
Executable file
49 lines
1.3 KiB
Bash
Executable file
#!/bin/sh
|
|
declare options=("Shut Down
|
|
Reboot
|
|
Logout
|
|
Suspend
|
|
Lock Screen")
|
|
|
|
choice=$(echo -e "${options[@]}" | dmenu -p 'Power' $@)
|
|
case "$choice" in
|
|
"Shut Down")
|
|
declare opt=("Yes\nNo")
|
|
yesno=$(echo -e "${opt[@]}" | dmenu -p 'Power' $@)
|
|
case "$yesno" in
|
|
"Yes") exec systemctl poweroff ;;
|
|
"No") exec exit 0 ;;
|
|
esac
|
|
;;
|
|
"Reboot")
|
|
declare opt=("Yes\nNo")
|
|
yesno=$(echo -e "${opt[@]}" | dmenu -p 'Power' $@)
|
|
case "$yesno" in
|
|
"Yes") exec systemctl reboot ;;
|
|
"No") exec exit 0 ;;
|
|
esac
|
|
;;
|
|
"Logout")
|
|
declare opt=("Yes\nNo")
|
|
yesno=$(echo -e "${opt[@]}" | dmenu -p 'Logout' $@)
|
|
case "$yesno" in
|
|
"Yes")
|
|
if [[ "$(pgrep spectrwm)" ]]; then
|
|
exec pkill spectrwm
|
|
else
|
|
exec loginctl terminate-session $XDG_SESSION_ID
|
|
fi
|
|
;;
|
|
"No") exec exit 0 ;;
|
|
esac
|
|
;;
|
|
"Lock Screen")
|
|
declare opt=("Yes\nNo")
|
|
yesno=$(echo -e "${opt[@]}" | dmenu -p 'Power' $@)
|
|
case "$yesno" in
|
|
"Yes") exec loginctl lock-session $XDG_SESSION_ID ;;
|
|
"No") exec exit 0 ;;
|
|
esac
|
|
;;
|
|
*) exit 1 ;;
|
|
esac
|