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