diff options
| author | darkeddie <lyttle.daniel@gmail.com> | 2023-11-25 16:41:55 +1100 |
|---|---|---|
| committer | darkeddie <lyttle.daniel@gmail.com> | 2023-11-25 16:41:55 +1100 |
| commit | 62a7a2bceca6967b885ee01f2f5e7f5c8aa989f7 (patch) | |
| tree | 3b9bf7ffe3498a66897d129e779015768abb0606 /config/hypr/scripts/RofiPower.sh | |
| parent | d5b06a4c6301befd1e5e4e9efa189a71aee51e27 (diff) | |
Update with Ja Suggestions
Diffstat (limited to 'config/hypr/scripts/RofiPower.sh')
| -rwxr-xr-x | config/hypr/scripts/RofiPower.sh | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/config/hypr/scripts/RofiPower.sh b/config/hypr/scripts/RofiPower.sh new file mode 100755 index 00000000..824cffa3 --- /dev/null +++ b/config/hypr/scripts/RofiPower.sh @@ -0,0 +1,67 @@ +#!/usr/bin/env bash + +SwayLock=$HOME/.config/hypr/scripts/LockScreen.sh + +# CMDs +uptime_info=$(uptime -p | sed -e 's/up //g') +host=$(hostnamectl hostname) + +# Options with Icons and Text +options=("Lock" "Suspend" "Logout" "Reboot" "Shutdown" "Hibernate") +icons=("" "" "" "" "" "") + +# Rofi CMD +rofi_cmd() { + options_with_icons=() + for ((i = 0; i < ${#options[@]}; i++)); do + options_with_icons+=("${icons[$i]} ${options[$i]}") + done + + chosen_option=$(printf "%s\n" "${options_with_icons[@]}" | \ + rofi -dmenu -i -p " $USER@$host" -mesg " Uptime: $uptime_info" \ + -kb-select-1 "l" \ + -kb-select-2 "u" \ + -kb-select-3 "e" \ + -kb-select-4 "r" \ + -kb-select-5 "s" \ + -kb-select-6 "h" \ + -theme ~/.config/rofi/config-powermenu.rasi | awk '{print $1}') + echo "$chosen_option" +} + +# Pass variables to rofi dmenu +run_rofi() { + chosen_option=$(rofi_cmd) + echo "$chosen_option" +} + +# Execute Command +run_cmd() { + case $1 in + "") + $SwayLock & + ;; + "") + systemctl suspend + ;; + "") + hyprctl dispatch exit 0 + ;; + "") + systemctl reboot + ;; + "") + systemctl poweroff + ;; + "") + systemctl hibernate + ;; + *) + echo "choose: $1" + ;; + esac +} + +# Actions +chosen_option=$(run_rofi) +run_cmd "${chosen_option% *}"
\ No newline at end of file |
