2023-02-22 00:02:06 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
# ***This script was made by Clay Gomera (Drake)***
|
|
|
|
# - Description: A simple power menu rofi script
|
|
|
|
# - Dependencies: rofi, power-profiles-daemon
|
|
|
|
|
|
|
|
## OPTIONS ##
|
|
|
|
option1=" Logout"
|
|
|
|
option2=" Reboot"
|
|
|
|
option3=" Power off"
|
|
|
|
option4="鈴 Suspend"
|
|
|
|
option5=" Lock"
|
|
|
|
option6=" Change power profile"
|
|
|
|
option7=" Cancel"
|
|
|
|
|
|
|
|
## OPTIONS ARRAY ##
|
|
|
|
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6\n$option7"
|
|
|
|
|
|
|
|
## POWER PROFILE OPTIONS ##
|
|
|
|
pwr1=" Performance"
|
|
|
|
pwr2=" Balanced"
|
|
|
|
pwr3=" Power Saver"
|
|
|
|
pwr4=" Cancel"
|
|
|
|
|
|
|
|
## POWER PROFILES ARRAY ##
|
|
|
|
pwrs="$pwr1\n$pwr2\n$pwr3\n$pwr4"
|
|
|
|
|
|
|
|
## MAIN ACTION COMMAND ##
|
2023-02-22 02:09:45 +00:00
|
|
|
action=$(echo -e "$options" | rofi -dmenu -p " Power Options ")
|
2023-02-22 00:02:06 +00:00
|
|
|
case "$action" in
|
|
|
|
$option1*)
|
|
|
|
pkill Hyprland;;
|
|
|
|
$option2*)
|
|
|
|
systemctl reboot || loginctl reboot;;
|
|
|
|
$option3*)
|
|
|
|
systemctl poweroff || loginctl poweroff;;
|
|
|
|
$option4*)
|
2023-02-22 02:09:45 +00:00
|
|
|
swaylock &
|
|
|
|
sleep 0.1
|
|
|
|
systemctl suspend;;
|
2023-02-22 00:02:06 +00:00
|
|
|
$option5*)
|
2023-02-22 02:09:45 +00:00
|
|
|
swaylock;;
|
2023-02-22 00:02:06 +00:00
|
|
|
$option6*)
|
|
|
|
currentpwr=$(powerprofilesctl get)
|
|
|
|
if [ "$currentpwr" = "performance" ]; then
|
|
|
|
currentpwr=" Performance"
|
|
|
|
elif [ "$currentpwr" = "power-saver" ]; then
|
|
|
|
currentpwr=" Power Saver"
|
|
|
|
elif [ "$currentpwr" = "balanced" ]; then
|
|
|
|
currentpwr=" Balanced"
|
|
|
|
fi
|
2023-02-22 02:09:45 +00:00
|
|
|
pwraction=$(echo -e "$pwrs" | rofi -dmenu -p " Power Profile Menu - Currently set to: ${currentpwr} ")
|
2023-02-22 00:02:06 +00:00
|
|
|
case "$pwraction" in
|
|
|
|
$pwr1*)
|
|
|
|
powerprofilesctl set performance && notify-send "Power profile switched to performance";;
|
|
|
|
$pwr2*)
|
|
|
|
powerprofilesctl set balanced && notify-send "Power profile switched to balanced";;
|
|
|
|
$pwr3*)
|
|
|
|
powerprofilesctl set power-saver && notify-send "Power profile switched to power saver";;
|
|
|
|
$pwr4*)
|
|
|
|
exit 0
|
|
|
|
esac;;
|
|
|
|
$option7*)
|
|
|
|
exit 0
|
|
|
|
esac
|
|
|
|
|