#!/usr/bin/env bash # Import Current Theme DIR="$HOME/.config/hypr" RASI="$DIR/rofi/powermenu.rasi" CNFR="$DIR/rofi/confirm.rasi" # Theme Elements prompt="`hostname` (`echo $XDG_CURRENT_DESKTOP`)" mesg="Uptime : `uptime -p | sed -E -e 's/up //g' -e 's/week|weeks/w/g' -e 's/day|days/d/g' -e 's/hour|hours/h/g' -e 's/minute|minutes/m/g'`" # Options option_1="" option_2="☀" option_3="" option_4="" option_5="↺" option_6="" yes='' no='' # Rofi CMD rofi_cmd() { rofi -dmenu \ -p "$prompt" \ -mesg "$mesg" \ -markup-rows \ -theme ${RASI} } # Pass variables to rofi dmenu run_rofi() { echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd } # Confirmation CMD confirm_cmd() { rofi -dmenu \ -p 'Confirmation' \ -mesg 'Are you Sure?' \ -theme ${CNFR} } # Ask for confirmation confirm_exit() { echo -e "$yes\n$no" | confirm_cmd } # Confirm and execute confirm_run () { selected="$(confirm_exit)" if [[ "$selected" == "$yes" ]]; then ${1} && ${2} && ${3} && ${4} else exit fi } # Execute Command run_cmd() { if [[ "$1" == '--opt1' ]]; then swaylock -f -i ~/.config/hypr/wallpapers/lockscreen.png elif [[ "$1" == '--opt2' ]]; then confirm_run 'hyprctl dispatch exit 0' elif [[ "$1" == '--opt3' ]]; then confirm_run 'pulsemixer --mute' 'swaylock -f -i ~/.config/hypr/wallpapers/lockscreen.png' 'systemctl suspend' #"$DIR/scripts/lockscreen" elif [[ "$1" == '--opt4' ]]; then confirm_run 'systemctl hibernate' elif [[ "$1" == '--opt5' ]]; then confirm_run 'systemctl reboot' elif [[ "$1" == '--opt6' ]]; then confirm_run 'systemctl poweroff' fi } # Actions chosen="$(run_rofi)" case ${chosen} in $option_1) run_cmd --opt1 ;; $option_2) run_cmd --opt2 ;; $option_3) run_cmd --opt3 ;; $option_4) run_cmd --opt4 ;; $option_5) run_cmd --opt5 ;; $option_6) run_cmd --opt6 ;; esac