In diesem Post entwickle ich mir eine Batterieanzeige für meine I3Blocks Statusbar. Wichtig ist hierbei, dass in der Konfigurationsdatei von I3blocks als markup pango aktiviert ist, da ich so die Farben gestalte.
Ich beginne damit, mir den Akkustand und status aus meinem System zu holen
capacity=$(cat /sys/class/power_supply/BAT0/capacity) state$(cat /sys/class/power_supply/BAT0/capacity)
Da ich die Farbe der Kapazität gerne linear zum Batteriestand von Rot nach Grün verändert haben möchte errechne ich diese folgendermaßen.
#Für capacity=0 → red_part=255 und für capacity=100 → red_part=0 red_part=$((255-capacity*255/100)) #Für capacity=0 → green_part=0 und für capacity=100 → green_part=255 green_part=$((capacity*255/100)) #Hex string bauen color=$(printg "%02x" $red_part) color="'#color$(printf "%02x" $green_part)00'"
Nun wird noch das Icon gesetzt, welches beim Laden/Entladen verwendet werden soll.
if [ "$state" = "Charging" ]; then stateIcon="<span color='green'>🔌</span>" else stateIcon="<span color='orange'>🔋</span>" fi
Zu guter letzt wird das ganze noch ausgegeben.
echo "<span color=$color>$capacity%</capacity> $stateIcon"
Falls ihr (noch) kein Emoji-Font habt, um diese im Terminal darzustellen beschreibe ich in diesem Blogpost, wie ich mir mein eigenes Emoji-Font erstel lt habe.