Mes scripts i3blocks pour générer les éléments de ma barre i3-wm
i3-wm est le gestionnaire de fenêtres que j'utilise depuis quelques d'années maintenant. Au fur et à mesure du temps, j'ai fais évoluer mon interface et j'ai écris des scripts pour générer les informations affichées dans la barre du dessus.
Parce que je suis plus à l'aise avec ce langage, l'ensemble des scripts est écrit en PHP 7. Ces scripts sont exécutés au travers de i3blocks, l'utilitaire qui gère les exécutions et les rendus des blocs.
Le fichier de configuration a cette forme et voici les détails techniques des blocs. Ils incluent tous base/block.php et le code source est libre. Le code n'est pas toujours élégant mais ça fonctionne pas trop mal 😀
Dépendance globale des scripts : interpréteur PHP 7.
Bande passante
Affiche la bande passante UP et DOWN d'une interface réseau.
- Code source
- Dépendances :
ip
,grep
,awk
,cut
,ifstat
ettail
- 1er paramètre : l'interface réseau (défault :
eth0
) - 2ème paramètre :
inet
pour l'IPV4 (par défaut) ouinet6
pour l'IPV6
IP locale
Affiche l'adresse IP d'une interface réseau. Au clic, l'IP est copiée dans le presse-papier.
- Code source
- Dépendances :
ip
,grep
,awk
,cut
,xclip
- 1er paramètre : l'interface réseau (défault :
eth0
) - 2ème paramètre :
inet
pour l'IPV4 (par défaut) ouinet6
pour l'IPV6
IP publique
Affiche votre adresse IP publique via une requête DNS à opendns.com. Au clic, l'IP est copiée dans le presse-papier.
- Code source
- Dépendances :
dig
etxclip
- 1er paramètre :
0
pour l'IPV4 (par défaut) ou1
pour l'IPV6
Espace libre
Affiche le pourcentage d'espace libre d'un point de montage. Au clic, le gestionnaire de fichiers affiche le répertoire du point de montage.
- Code source
- Dépendances :
df
,tail
etxdg-open
- 1er paramètre : le nom du point de montage (défault :
root
) - 2ème paramètre : le chemin vers le point de montage (défault :
/
) - 3ème paramètre : pourcentage du niveau d'alerte "moyen" (défault :
70
) - 4ème paramètre : pourcentage du niveau d'alerte "critique" (défault :
90
)
Spotify
Affiche l'artiste et le titre de la musique jouée. J'affiche le workspace
6. MEDIA
lors d'un clic.
- Code source
- Dépendance :
playerctl
Affiche un bouton pour lancer ou mettre en pause le titre en court.
- Code source
- Dépendances :
playerctl
etdbus-send
Volume
Affiche le volume du son.
- Code source
- Dépendances :
amixer
etgrep
Météo
Affiche la météo du lieu détecté par fr.wttr.in. Au clic, le site est affiché dans le navigateur web.
- Code source
- Dépendance :
curl
etxdg-open
Application
Affiche une lettre colorée et lance un script quand on clique dessus. Dans ma configuration, ça affiche des sites web dans le navigateur web.
- Code source
- 1er paramètre : la lettre à afficher
- 2ème paramètre : le script à exécuter au clic
- 3ème paramètre : la couleur de fond (défaut :
#333
) - 4ème paramètre : la couleur du texte (défaut :
#fff
)
Heure et date
Affiche l'heure et la date.
- Code source
- 1er paramètre : le format (documentation). Par défault :
H:i:s
.
Flux RSS
Affiche le nombre d'articles non lus. Au clic, le navigateur affiche le client web du votre lecture RSS (tt-rss chez moi).
- Code source
- Dépendance :
xdg-open
- 1er paramètre : URL du flux RSS
- 2ème paramètre : adresse du lecture RSS (optionnel)
Batterie
Affiche l'état de charge de la batterie.
- Code source
- Dépendance :
acpi