neodotfiles/user/.config/rofi/scripts/rofi_power
2022-09-12 21:06:55 -04:00

56 lines
1.6 KiB
Bash
Executable file

#!/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="(L) Logout"
option2="(R) Reboot"
option3="(P) Power off"
option4="(S) Suspend"
option5="(K) Lock"
option6="(C) Change power profile"
option7="(X) Cancel"
## OPTIONS ARRAY ##
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6\n$option7"
## POWER PROFILE OPTIONS ##
pwr1="(P) Performance"
pwr2="(B) Balanced"
pwr3="(S) Power Saver"
pwr4="(X) Cancel"
## POWER PROFILES ARRAY ##
pwrs="$pwr1\n$pwr2\n$pwr3\n$pwr4"
## MAIN ACTION COMMAND ##
action=$(echo -e "$options" | rofi -dmenu -b -i -p " ")
case "$action" in
$option1*)
whoami | xargs -I % sh -c 'pkill -KILL -u %';;
$option2*)
systemctl reboot;;
$option3*)
systemctl poweroff;;
$option4*)
betterlockscreen --suspend;;
$option5*)
betterlockscreen -l;;
$option6*)
currentpwr=$(powerprofilesctl get)
pwraction=$(echo -e "$pwrs" | rofi -dmenu -b -i -p "Current profile is: ${currentpwr} | Select profile:")
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