#!/usr/bin/env bash set -euo pipefail SCRIPT=$(basename "$0") LAUNCHER=('rofi' '-theme-str' 'window {width: 20%;}' '-dmenu' '-c' '-l' '3' '-p') log() { logger -i -t "$SCRIPT" "$*" } main() { local CHOICE CHOICE=$(printf "sleep\nrestart\nshutdown" | "${LAUNCHER[@]}" "power:") local EXITCODE=$? case $EXITCODE in 0) case "$CHOICE" in "sleep") systemctl suspend;; "restart") reboot;; "shutdown") notify-send "Shutdown in 1 minute!" && shutdown;; esac ;; 1) exit 0 ;; esac } main