aboutsummaryrefslogtreecommitdiff
path: root/Common/rofi/applets/menu/powermenu.sh
diff options
context:
space:
mode:
authorJakob Stendahl <jakob.stendahl@outlook.com>2021-09-04 12:04:53 +0200
committerJakob Stendahl <jakob.stendahl@outlook.com>2021-09-04 12:04:53 +0200
commit65b7f91e51d90e93c3d7c6704c0a8265467a8ea7 (patch)
tree88301071c7f1840b502f33cbd3b0f7c5e81b0c66 /Common/rofi/applets/menu/powermenu.sh
parenta77563ee1044ffa03f7c49e457a5f7c9f943188f (diff)
parente6df7072ab32493a561fc678eacc119b57981827 (diff)
downloaddotfiles-65b7f91e51d90e93c3d7c6704c0a8265467a8ea7.tar.gz
dotfiles-65b7f91e51d90e93c3d7c6704c0a8265467a8ea7.zip
Merge branch 'master' of https://github.com/JakobS1n/dotfiles
Diffstat (limited to 'Common/rofi/applets/menu/powermenu.sh')
-rwxr-xr-xCommon/rofi/applets/menu/powermenu.sh98
1 files changed, 98 insertions, 0 deletions
diff --git a/Common/rofi/applets/menu/powermenu.sh b/Common/rofi/applets/menu/powermenu.sh
new file mode 100755
index 0000000..9755d64
--- /dev/null
+++ b/Common/rofi/applets/menu/powermenu.sh
@@ -0,0 +1,98 @@
+#!/usr/bin/env bash
+
+## Author : Aditya Shakya
+## Mail : adi1090x@gmail.com
+## Github : @adi1090x
+## Twitter : @adi1090x
+
+style="$($HOME/.config/rofi/applets/menu/style.sh)"
+
+dir="$HOME/.config/rofi/applets/menu/configs/$style"
+rofi_command="rofi -theme $dir/powermenu.rasi"
+
+uptime=$(uptime -p | sed -e 's/up //g')
+cpu=$(sh ~/.config/rofi/bin/usedcpu)
+memory=$(sh ~/.config/rofi/bin/usedram)
+
+# Options
+shutdown=""
+reboot=""
+lock=""
+suspend=""
+logout=""
+
+# Confirmation
+confirm_exit() {
+ rofi -dmenu\
+ -i\
+ -no-fixed-num-lines\
+ -p "Are You Sure? : "\
+ -theme $HOME/.config/rofi/applets/styles/confirm.rasi
+}
+
+# Message
+msg() {
+ rofi -theme "$HOME/.config/rofi/applets/styles/message.rasi" -e "Available Options - yes / y / no / n"
+}
+
+# Variable passed to rofi
+options="$shutdown\n$reboot\n$lock\n$suspend\n$logout"
+
+chosen="$(echo -e "$options" | $rofi_command -p "祥 $uptime |  $cpu | ﬙ $memory " -dmenu -selected-row 2)"
+case $chosen in
+ $shutdown)
+ ans=$(confirm_exit &)
+ if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
+ systemctl poweroff
+ elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
+ exit 0
+ else
+ msg
+ fi
+ ;;
+ $reboot)
+ ans=$(confirm_exit &)
+ if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
+ systemctl reboot
+ elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
+ exit 0
+ else
+ msg
+ fi
+ ;;
+ $lock)
+ if [[ -f /usr/bin/i3lock ]]; then
+ i3lock
+ elif [[ -f /usr/bin/betterlockscreen ]]; then
+ betterlockscreen -l
+ fi
+ ;;
+ $suspend)
+ ans=$(confirm_exit &)
+ if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
+ mpc -q pause
+ amixer set Master mute
+ systemctl suspend
+ elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
+ exit 0
+ else
+ msg
+ fi
+ ;;
+ $logout)
+ ans=$(confirm_exit &)
+ if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
+ if [[ "$DESKTOP_SESSION" == "Openbox" ]]; then
+ openbox --exit
+ elif [[ "$DESKTOP_SESSION" == "bspwm" ]]; then
+ bspc quit
+ elif [[ "$DESKTOP_SESSION" == "i3" ]]; then
+ i3-msg exit
+ fi
+ elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
+ exit 0
+ else
+ msg
+ fi
+ ;;
+esac