xclockstatusbar : Barre de status avec Xclock
XClock est disponible dans la plupart des distributions et livré avec le serveur d'affichage X.
J'ai voulu relever le défi d'avoir une barre de status affichant des informations sans ajouter d'outils supplémentaires à une installation OpenBSD de base. Ce que je décris ci-dessous peut être obtenu avec conky, lemonbar ou que sais-je ?
On pourra y afficher :
- L'heure et la date (pratique pour xclock...)
- L'utilisation de /home et /usr/local.
- La charge de la machine ces dernières 1 min, 5 min et 15 min.
- Le volume sonore.
- Le nombre de mails reçus dans différents dossiers.
- La musique jouée dans mpd.
Le tout est mis à jour régulièrement, à chaque fois qu'un des éléments ci-dessus change (avec un délai maximum d'1 seconde).
Voici en détail ce que fait le script :
- Il rassemble les éléments ci-dessus et les enregistre dans une variable.
- Il affiche le tout avec xclock en utilisant l'option "strftime".
Cependant, bien qu'on puisse passer n'importe quel texte à cette option, il ne sera pas mis à jour comme l'est l'heure. Il faudra donc filouter.
- On enregistre le PID du processus xclock pour plus tard.
- On attend un peu.
- On récupère à nouveau les informations à afficher. Si rien n'a changé, on ne fait rien.
- Si les informations on changé, on affiche une nouvelle horloge avec les nouvelles informations qui se met par-dessus l'ancienne, puis on ferme l'ancienne horloge.
Voici le script :