aboutsummaryrefslogtreecommitdiff
path: root/.config/polybar/scripts/sysmenu.sh
blob: 000adc70239c6480ad4a7fc38d8374a1b1f81435 (plain)
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
40
41
42
#!/bin/bash

# Display a power menu to: shutdown, reboot,
# lock, logout, and suspend. This script can be
# executed by clicking on the polybar powermenu module
# or with a keyboard shortcut

# Options to be displayed
shutdown=" Shutdown"
reboot=" Reboot"
lock=" Lock"
logout=" Logout"
suspend=" Suspend"

uptime=$(uptime -p | sed -e 's/up //g')

# Options passed into variable
options="$shutdown\n$reboot\n$lock\n$logout\n$suspend"

# Specify the path to the Rofi configuration file
config_file="$HOME/.config/rofi/styles/powermenu.rasi"

# Show Rofi with the specified configuration file
chosen="$(echo -e "$options" | rofi -no-lazy-grab -sep -config "$config_file" -dmenu -p 'System ' "$uptime")"

case $chosen in
    $shutdown)
        systemctl poweroff
        ;;
    $reboot)
        systemctl reboot
        ;;
    $lock)
        betterlockscreen --lock dimblur
        ;;
    $logout)
        bspc quit
        ;;
    $suspend)
        systemctl suspend
        ;;
esac