nixos-config/home-manager/modules/i3/powermenu.sh

55 lines
995 B
Bash
Raw Normal View History

# shellcheck disable=SC2148
2022-11-11 11:54:21 +01:00
confirm() {
rofi -dmenu \
-i \
-no-fixed-num-lines \
-p "Are you sure? [y/n]: " \
-theme power
2022-11-11 11:54:21 +01:00
}
# Options
shutdown=""
reboot=""
lock=""
hibernate=""
exit_wm=""
# Variable passed to rofi
options="${shutdown}\n${reboot}\n${lock}\n${hibernate}\n${exit_wm}"
uptime=$(uptime | awk '{print $1}' || true)
lockcmd="i3lock --ignore-empty-password --show-failed-attempts --clock --color=333333ff --screen=0 --pass-volume-keys --image /home/erwin/.wallpapers/river-3840.png --tiling"
chosen="$(echo -e "${options}" | rofi -theme power -p "Uptime: ${uptime}" -dmenu -selected-row 2)"
if [[ ${chosen} == "" ]]; then
exit 0
2022-11-11 11:54:21 +01:00
fi
if [[ ${chosen} == "${lock}" ]]; then
${lockcmd}
exit 0
2022-11-11 11:54:21 +01:00
fi
answer=$(confirm)
if [[ ${answer} == "y" ]]; then
case "${chosen}" in
"${shutdown}")
systemctl poweroff
;;
"${reboot}")
systemctl reboot
;;
"${hibernate}")
${lockcmd}
systemctl hibernate
;;
"${exit_wm}")
i3-msg exit
;;
*) ;;
esac
2022-11-11 11:54:21 +01:00
fi