[FIX] script todo: télémétrie système — rafraîchir après install lm-sensors

Après « i » (installer lm-sensors) dans la vue système F2, l'affichage
n'était pas garanti d'être remis à jour : le message « lm-sensors absent »
pouvait rester même si les capteurs devenaient lisibles.

Fix : à la fin de action_install_sensors, on ré-échantillonne le système
(température incluse, _sys_prev remis à zéro) et on réécrit la case
SYNCHRONEMENT + self.refresh(), puis on notifie le résultat (« capteurs
désormais disponibles » ou « toujours pas de température — reboot/modprobe
requis ? »).

Validé headless : la ligne Température passe de « lm-sensors absent… » à
« 48°C (max) » une fois la température lisible.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mathieu Benoit 2026-07-29 10:35:24 +00:00
parent 421f61b84b
commit 99180d2abf
2 changed files with 27 additions and 1 deletions

View file

@ -1352,6 +1352,14 @@ TRANSLATIONS = {
"fr": "Capteurs déjà disponibles.",
"en": "Sensors already available.",
},
"Sensors now available.": {
"fr": "Capteurs désormais disponibles.",
"en": "Sensors now available.",
},
"Still no temperature (reboot/modprobe may be needed).": {
"fr": "Toujours pas de température (redémarrage/modprobe requis ?).",
"en": "Still no temperature (reboot/modprobe may be needed).",
},
"Unknown package manager for lm-sensors.": {
"fr": "Gestionnaire de paquets inconnu pour lm-sensors.",
"en": "Unknown package manager for lm-sensors.",

View file

@ -782,7 +782,25 @@ def run_tui(run_app: bool = True, state: dict | None = None):
if ans in ("o", "oui", "y", "yes"):
os.system(printable + " || true")
os.system("sudo sensors-detect --auto || true")
self.run_worker(self._tick_system())
# Rafraîchit IMMÉDIATEMENT la vue système : on ré-échantillonne
# (température incluse) et on réécrit la case pour que le message
# « installer » disparaisse si les capteurs sont désormais lisibles.
self._sys_prev = None
try:
m, self._sys_prev = system_snapshot(self._sys_prev, full=True)
self.query_one("#system", Static).update(
self._render_system(m)
)
except Exception:
pass
self.refresh()
if read_temperature() is not None:
self.notify(t("Sensors now available."))
else:
self.notify(
t("Still no temperature (reboot/modprobe may be needed)."),
severity="warning",
)
def on_click(self, event):
# Grille (mosaïque) : clic sur le TITRE d'une case -> l'agrandir