117 lines
2.6 KiB
Bash
Executable File
117 lines
2.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Current Theme #
|
|
dir="$HOME/.config/bspwm/rofi/themes"
|
|
theme="${dir}/powermenu"
|
|
|
|
# Theme Elements #
|
|
prompt="`hostname`"
|
|
mesg="Uptime : `uptime -p | sed -e 's/up //g'`"
|
|
|
|
list_col='1'
|
|
# list_row='7'
|
|
list_row='3'
|
|
|
|
# Options #
|
|
# option_1=" Lock"
|
|
# option_2=" Logout"
|
|
# option_3=" Suspend"
|
|
# option_4=" Hibernate"
|
|
option_5=" Reboot"
|
|
option_6=" Shutdown"
|
|
yes='✔ Yes'
|
|
no='✘ No'
|
|
|
|
# Rofi CMD #
|
|
rofi_cmd() {
|
|
#echo -e "${option_1}\n${option_2}\n${option_3}\n${option_4}\n${option_5}\n${option_6}\n${mesg}" |
|
|
echo -e "${option_5}\n${option_6}\n${mesg}" |
|
|
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
|
-dmenu \
|
|
-p "$prompt" \
|
|
-markup-rows \
|
|
-theme ${theme}
|
|
}
|
|
|
|
# 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
|
|
echo -e "$option_5\n$option_6" | rofi_cmd
|
|
}
|
|
|
|
|
|
# Confirmation CMD #
|
|
confirm_cmd() {
|
|
rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 250px; height: 170;}' \
|
|
-theme-str 'mainbox {orientation: vertical; children: [ "message", "listview" ];}' \
|
|
-theme-str 'listview {columns: 2; lines: 1;}' \
|
|
-theme-str 'element-text {horizontal-align: 0.5;}' \
|
|
-theme-str 'textbox {horizontal-align: 0.5;}' \
|
|
-dmenu \
|
|
-p 'Confirmation' \
|
|
-mesg 'Are you Sure?' \
|
|
-theme ${theme}
|
|
}
|
|
|
|
# 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}
|
|
else
|
|
exit
|
|
fi
|
|
}
|
|
|
|
# Execute Command #
|
|
run_cmd() {
|
|
# if [[ "$1" == '--opt1' ]]; then
|
|
# betterlockscreen -l
|
|
# elif [[ "$1" == '--opt2' ]]; then
|
|
# confirm_run 'kill -9 -1'
|
|
# elif [[ "$1" == '--opt3' ]]; then
|
|
# confirm_run 'mpc -q pause' 'amixer set Master mute' 'systemctl suspend'
|
|
# 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
|
|
if [[ "$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
|
|
|