#!/bin/bash # Passwordless sudo required for systemctl [reboot|poweroff|hibernate] # Determine if Sway or i3 if [ -z ${SWAYSOCK+x} ]; then WM="i3" else WM="sway" fi if [[ $WM == 'i3' ]]; then res=$(printf "🔒 Lock|↩ Logout|↻ Reload i3|↹ Restart i3|↯ Hibernate|🡙 Reboot|⏻ Shutdown" | rofi -sep "|" -dmenu -i -p 'Power: ' "" -columns 1 -rows 7 -width 32 -l 1 -hide-scrollbar -eh 1 -location 0 -padding 12 -opacity 100 -auto-select -no-fullscreen) else res=$(echo "🔒 Lock|↩ Logout|↻ Reload Sway|↻ Reload Waybar|↯ Hibernate|🡙 Reboot|⏻ Shutdown" | rofi -sep "|" -dmenu -i -p 'Power: ' "" -no-lazy-grab -auto-select -no-fullscreen) fi if [ "$res" == "🔒 Lock" ]; then ${WM}lock -c 323232 elif [ "$res" == "↩ Logout" ]; then # Prevent auto-login rm /home/jpm/.config/last_login_gui ${WM} exit elif [ "$res" == "↻ Reload i3" ]; then i3 reload elif [ "$res" == "↹ Restart i3" ]; then i3 restart elif [ "$res" == "↻ Reload Sway" ]; then sway reload elif [ "$res" == "↻ Reload Waybar" ]; then # Need to integrate with sway/displays.pl for alternative outputs /home/jpm/scripts/sway/displays.pl -w elif [ "$res" == "🡙 Reboot" ]; then rm $SSH_AUTH_SOCK sudo systemctl reboot -i elif [ "$res" == "⏻ Shutdown" ]; then rm $SSH_AUTH_SOCK sudo systemctl poweroff -i elif [ "$res" == "↯ Hibernate" ]; then sudo systemctl hibernate -i fi exit 0