Skip to content

Commit 1043cd9

Browse files
nikunjmathur08xx4h
andauthored
Add option to display battery status as hearts in battery.sh (#447)
* Add option to display battery status as hearts in battery.sh --------- Co-authored-by: nikunjmathur08 <[email protected]> Co-authored-by: Fabian Sylvester <[email protected]>
1 parent ba893c9 commit 1043cd9

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

segments/battery.sh

+24-4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
# LICENSE This code is not under the same license as the rest of the project as it's "stolen". It's cloned from https://github.com/richoH/dotfiles/blob/master/bin/battery and just some modifications are done so it works for my laptop. Check that URL for more recent versions.
33

44
TMUX_POWERLINE_SEG_BATTERY_TYPE_DEFAULT="percentage"
5-
TMUX_POWERLINE_SEG_BATTERY_NUM_BATTERIES_DEFAULT=5
5+
TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS_DEFAULT=5
66

7+
HEART_FULL=""
8+
HEART_EMPTY=""
79
BATTERY_FULL="󱊣"
810
BATTERY_MED="󱊢"
911
BATTERY_EMPTY="󱊡"
@@ -12,10 +14,10 @@ ADAPTER="󰚥"
1214

1315
generate_segmentrc() {
1416
read -r -d '' rccontents <<EORC
15-
# How to display battery remaining. Can be {percentage, cute}.
17+
# How to display battery remaining. Can be {percentage, cute, hearts}.
1618
export TMUX_POWERLINE_SEG_BATTERY_TYPE="${TMUX_POWERLINE_SEG_BATTERY_TYPE_DEFAULT}"
1719
# How may hearts to show if cute indicators are used.
18-
export TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS="${TMUX_POWERLINE_SEG_BATTERY_NUM_BATTERIES_DEFAULT}"
20+
export TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS="${TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS_DEFAULT}"
1921
EORC
2022
echo "$rccontents"
2123
}
@@ -39,6 +41,9 @@ run_segment() {
3941
"cute")
4042
output=$(__cutinate "$battery_status")
4143
;;
44+
"hearts")
45+
output=$(__generate_hearts "${battery_status/* /}")
46+
;;
4247
esac
4348
if [ -n "$output" ]; then
4449
echo "$output"
@@ -50,7 +55,7 @@ __process_settings() {
5055
export TMUX_POWERLINE_SEG_BATTERY_TYPE="${TMUX_POWERLINE_SEG_BATTERY_TYPE_DEFAULT}"
5156
fi
5257
if [ -z "$TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS" ]; then
53-
export TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS="${TMUX_POWERLINE_SEG_BATTERY_NUM_BATTERIES_DEFAULT}"
58+
export TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS="${TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS_DEFAULT}"
5459
fi
5560
}
5661

@@ -134,6 +139,21 @@ __cutinate() {
134139
done
135140
}
136141

142+
__generate_hearts() {
143+
perc=$1
144+
num_hearts=$TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS
145+
hearts_output=""
146+
147+
for i in $(seq 1 "$num_hearts"); do
148+
if [ "$perc" -ge $((i * 100 / num_hearts)) ]; then
149+
hearts_output+="$HEART_FULL "
150+
else
151+
hearts_output+="$HEART_EMPTY "
152+
fi
153+
done
154+
echo "$hearts_output"
155+
}
156+
137157
__linux_get_bat() {
138158
bf=$(cat "$BAT_FULL")
139159
bn=$(cat "$BAT_NOW")

0 commit comments

Comments
 (0)