aboutsummaryrefslogtreecommitdiffstats
path: root/config/hypr/scripts/RofiPower.sh
diff options
context:
space:
mode:
Diffstat (limited to 'config/hypr/scripts/RofiPower.sh')
-rwxr-xr-xconfig/hypr/scripts/RofiPower.sh67
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..84d86433
--- /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(l)" "Suspend(u)" "Logout(e)" "Reboot(r)" "Shutdown(s)" "Hibernate(h)")
+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
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage