zenUtils/logout.sh

56 lines
993 B
Bash
Executable file

#!/bin/sh
# logout.sh
# logout dialogue to be used with a tint2 executor
# no arguments prints the power icon with siji font
# -p runs the prompt in dmenu
# use a sudoers rule with NOPASSWD or a session manager
# copyleft 2020 Derek Stevens <drkste@zoho.com>
# MIT License -- do whatever you want
menu() {
dmenu "$@" -p "action >>>" -fn saucecodepronerdfont-9 -l 6 -nb black -nf grey50 -sb "#1f9b92" -sf black
}
printopts() {
printf "shutdown\nreboot\nsuspend\nhibernate\nlogout"
}
handler() {
case $1 in
shutdown)
poweroff
;;
reboot)
reboot
;;
suspend)
zzz
;;
logout)
if pgrep kwin; then
pkill -9 -P $(pgrep .kwin-session)
elif pgrep ryudo; then
kill $(pgrep ryudo)
else killall Xorg; fi
;;
hibernate)
ZZZ
;;
*)
:
esac
}
logoutMenu() {
cmd=$(printopts | menu)
handler $cmd
}
if [ -z $1 ]; then
echo ""
elif [ "$1" = "-p" ]; then
logoutMenu
fi