blob: ef0dba69b24c73aeadae8fe48dbd56450bd29682 (
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Battery
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Battery Info
battery="`acpi -b | cut -d',' -f1 | cut -d':' -f1`"
status="`acpi -b | cut -d',' -f1 | cut -d':' -f2 | tr -d ' '`"
percentage="`acpi -b | cut -d',' -f2 | tr -d ' ',\%`"
time="`acpi -b | cut -d',' -f3`"
if [[ -z "$time" ]]; then
time=' Fully Charged'
fi
# Theme Elements
prompt="$status"
mesg="${battery}: ${percentage}%,${time}"
if [[ "$theme" == *'type-1'* ]]; then
list_col='1'
list_row='4'
win_width='400px'
elif [[ "$theme" == *'type-3'* ]]; then
list_col='1'
list_row='4'
win_width='120px'
elif [[ "$theme" == *'type-5'* ]]; then
list_col='1'
list_row='4'
win_width='500px'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='4'
list_row='1'
win_width='550px'
fi
# Charging Status
active=""
urgent=""
if [[ $status = *"Charging"* ]]; then
active="-a 1"
ICON_CHRG=""
elif [[ $status = *"Full"* ]]; then
active="-u 1"
ICON_CHRG=""
else
urgent="-u 1"
ICON_CHRG=""
fi
# Discharging
if [[ $percentage -ge 5 ]] && [[ $percentage -le 19 ]]; then
ICON_DISCHRG=""
elif [[ $percentage -ge 20 ]] && [[ $percentage -le 39 ]]; then
ICON_DISCHRG=""
elif [[ $percentage -ge 40 ]] && [[ $percentage -le 59 ]]; then
ICON_DISCHRG=""
elif [[ $percentage -ge 60 ]] && [[ $percentage -le 79 ]]; then
ICON_DISCHRG=""
elif [[ $percentage -ge 80 ]] && [[ $percentage -le 100 ]]; then
ICON_DISCHRG=""
fi
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Remaining ${percentage}%"
option_2=" $status"
option_3=" Power Manager"
option_4=" Diagnose"
else
option_1="$ICON_DISCHRG"
option_2="$ICON_CHRG"
option_3=""
option_4=""
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "window {width: $win_width;}" \
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str "textbox-prompt-colon {str: \"$ICON_DISCHRG\";}" \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
${active} ${urgent} \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4" | rofi_cmd
}
# Execute Command
run_cmd() {
polkit_cmd="pkexec env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY"
if [[ "$1" == '--opt1' ]]; then
notify-send -u low " Remaining : ${percentage}%"
elif [[ "$1" == '--opt2' ]]; then
notify-send -u low "$ICON_CHRG Status : $status"
elif [[ "$1" == '--opt3' ]]; then
xfce4-power-manager-settings
elif [[ "$1" == '--opt4' ]]; then
${polkit_cmd} alacritty -e powertop
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
esac
|