aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/powermenu
blob: 08202e7a30b1fca68beaecb60e8098eab4799b4f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash

read -r wallpaper<~/.cache/wallpaper

#### Options ###
power_off=" Shutdown"
reboot="󰜉 Reboot"
lock_screen=" Lock Screen"
suspend=" Suspend"
hibernate="󰒲 Hibernate"
log_out="󰍃﫼 Log Out"

# Options passed to fuzzel
options="$power_off\n$reboot\n$suspend\n$hibernate\n$log_out\n$lock_screen"
lines="$(echo "$options" | grep -oF '\n' | wc -l)"
rofi_command="fuzzel -d -w 14 -l $((lines+1))"
chosen="$(echo -e "$options" | $rofi_command )"
case $chosen in
    "$lock_screen")
	swaylock -f -i "$wallpaper"
        ;;    
    "$power_off")
        loginctl poweroff
        ;;
    "$reboot")
        loginctl reboot
        ;;
    "$suspend")
        $lock && loginctl suspend
        ;;
    "$hibernate")
        $lock && loginctl hibernate
        ;;
    "$log_out")
        #swaymsg exit
        #loginctl terminate-session "${XDG_SESSION_ID-}"
        riverctl exit
        ;;
esac