Handy dot files with sensible bindings and settings
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/usr/bin/env bash |
|
|
|
|
|
# Swayconfig |
|
|
SWAYCONFIG="$HOME/.config/swaylock/config" |
|
|
|
|
|
# CMDs |
|
|
uptime="`uptime -p | sed -e 's/up //g'`" |
|
|
host=`hostnamectl hostname` |
|
|
|
|
|
# Options |
|
|
shutdown=' Shutdown' |
|
|
reboot=' Reboot' |
|
|
lock=' Lock' |
|
|
suspend=' Suspend' |
|
|
logout=' Logout' |
|
|
hibernate=' Hibernate' |
|
|
|
|
|
# Rofi CMD |
|
|
rofi_cmd() { |
|
|
rofi -dmenu -p " $USER@$host" -mesg " Uptime: $uptime" -sep '|' -eh 2 -theme ~/.config/rofi/config-powermenu.rasi |
|
|
} |
|
|
|
|
|
# Pass variables to rofi dmenu |
|
|
run_rofi() { |
|
|
echo -e "$lock\0meta\x1fl|$suspend\0meta\x1fu|$logout\0meta\x1fe|$reboot\0meta\x1fr|$shutdown\0meta\x1fs|$hibernate\0meta\x1fh" | rofi_cmd |
|
|
} |
|
|
|
|
|
# Execute Command |
|
|
run_cmd() { |
|
|
if [[ $1 == '--shutdown' ]]; then |
|
|
systemctl poweroff |
|
|
elif [[ $1 == '--reboot' ]]; then |
|
|
systemctl reboot |
|
|
elif [[ $1 == '--suspend' ]]; then |
|
|
systemctl suspend |
|
|
elif [[ $1 == '--logout' ]]; then |
|
|
hyprctl dispatch exit 0 |
|
|
elif [[ $1 == '--hibernate' ]]; then |
|
|
systemctl hibernate |
|
|
fi |
|
|
} |
|
|
|
|
|
# Actions |
|
|
chosen="$(run_rofi)" |
|
|
case ${chosen} in |
|
|
$shutdown) |
|
|
run_cmd --shutdown |
|
|
;; |
|
|
$reboot) |
|
|
run_cmd --reboot |
|
|
;; |
|
|
$hibernate) |
|
|
run_cmd --hibernate |
|
|
;; |
|
|
$lock) |
|
|
sleep 0.5s; swaylock --config ${SWAYCONFIG} & disown |
|
|
;; |
|
|
$suspend) |
|
|
run_cmd --suspend |
|
|
;; |
|
|
$logout) |
|
|
run_cmd --logout |
|
|
;; |
|
|
$hibernate) |
|
|
run_cmd --hibernate |
|
|
;; |
|
|
esac |