#!/bin/sh _have() { command -v "$1" } PWR_OPTS=$(printf '%b' 'Lock\nLogout\nReboot\nShutdown\nSuspend\nHibernate' | fuzzel -d -p 'Power menu: ') case "$PWR_OPTS" in Hibernate) loginctl hibernate ;; Lock) _have swaylock && swaylock --daemonize && swaymsg 'output * power off' ;; Logout) loginctl terminate-session self ;; Reboot) loginctl reboot ;; Shutdown) loginctl poweroff ;; Suspend) loginctl suspend ;; esac