# shellcheck disable=SC2148 confirm() { rofi -dmenu \ -i \ -no-fixed-num-lines \ -p "Are you sure? [y/n]: " \ -theme power } # 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-color --image /home/erwin/.wallpapers/river-3840.png --color=333333ff --tiling --ignore-empty-password --show-failed-attempts --screen=0 --clock --pass-volume-keys" chosen="$(echo -e "${options}" | rofi -theme power -p "Uptime: ${uptime}" -dmenu -selected-row 2)" if [[ ${chosen} == "" ]]; then exit 0 fi if [[ ${chosen} == "${lock}" ]]; then ${lockcmd} exit 0 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 fi