I3Blocks ist eine Alternative zu der standartmäßigen i3status oder der Polybar. Dabei setzt es vor allem auf ein baukastenähnliches System, woher auch der Name kommt.
Installation und Konfiguration
Man kann es wie gewöhnlich z.B. über apt installieren
sudo apt install i3blocks
Die Konfigurationsdatei wird in /.config/i3blocks/config angelegt. Ich speichere meine Blöcke, welche im Grunde genommen ein Script welches etwas ausgibt ist, alle in */.scripts/statusbar/* ab. Als Normalkonfiguration habe ich folgendes.
command=$HOME/.scripts/statusbar/$BLOCK_NAME separator_block_width=15 markup=pango
Alle Einstellungen, die nicht in einem Block sind, werden auf alle Blöcke angewandt. In der ersten Zeile setze ich den Befehl, welcher für den Block ausgeführt wird. Dort wird auch die Variable BLOCK_NAME genutzt, welche für jeden Block unterschiedlich ist.
Das Erstellen eines Blockes
Als Beispiel werde ich meinen Uhr-Block nehmen. In meiner Konfigurationsdatei füge ich folgendes hinzu.
[clock] interval=60
In den Eckigen Klammern steht der Name des Blockes, mit dem der Command bestimmt wird. Das Intervall ist der Zeitabstand in Sekunden, in dem der Command aufgerufen wird.
Mein Uhrscript, welches in ~/.scripts/statusbar/clock liegt, ist recht Simpel.
#!/bin/sh weekday=$(date "+%a") time=$(date "+%H:%M ") day=$(date "+%d %b") #Das icon der Uhrzeit anpassen hour=$(date "+%I") case $hour in 00) clkIcn="👻" #Buhuhu ;; 01) clkIcn="🕑" ;; 02) clkIcn="🕒" ;; 03) clkIcn="🕓" ;; 04) clkIcn="🕔" ;; 05) clkIcn="🕕" ;; 06) clkIcn="🕖" ;; 07) clkIcn="🕗" ;; 08) clkIcn="🕘" ;; 09) clkIcn="🕙" ;; 10) clkIcn="🕚" ;; 11) clkIcn="🕛" ;; 12) clkIcn="🕛" ;; esac echo "$clkIcn $time🗓 $weekday $day" Sicher kann man sie Emojiauswahl noch etwas verkürzen.
Falls ihr (noch) kein Emoji-Font habt, um diese im Terminal darzustellen beschreibe ich in diesem Blogpost, wie ich mir mein eigenes Emoji-Font erstellt habe.
So kann man einfach und mit eigenen Blöcken seine Statusbar an seine Wünsche anpassen