J'utilise dwm comme gestionnaire de fenetres, et console-tdm comme gestionnaire de connexion.
J'utilisais avant .xinitrc pour mettre un certain nombre de commandes à lancer au démarrage de DWM, mais maintenant j'utilise .config/tdm/tdmexit, j'ai écris dedans ceci:
Code : Tout sélectionner
while true; do
xsetroot -name "P$LOAD M$FREE $LOCALTIME B$BAT"
LOCALTIME=$(date +"%R")
FREE="$(($(free --mega | head -c 115 | tail -c 4)))"
LOAD="$(uptime | tail -c 17 | head -c 4)"
BAT="$(cat /sys/class/power_supply/BAT0/capacity)"
sleep 5s
done &
Ça fonctionne quand la batterie est en train de charger, mais dès qu'elle est pleine l'affichage se bloque et plus rien n'évolue, ni l'heure ni le reste. Si on débranche l'alim de l'ordi portable pour le décharger un peu et qu'on redémarre, on récupère un affichage normal, qu'il soit en train de charger ou de se décharger.
Du coup j'arrive à mes limites de compréhension là! Je connais pas super bien le bash et les boucles while, meme si je les ai déjà un peu bidouillé/modifié, et j'ai un peu lu dessus.