From a24aa8cf2d16298c81c3c58811955331f032dcce Mon Sep 17 00:00:00 2001 From: Tetardtek Date: Mon, 23 Feb 2026 16:41:31 +0100 Subject: [PATCH] =?UTF-8?q?fix(popup):=20corriger=20redraw=20GTK3=20?= =?UTF-8?q?=E2=80=94=20osciller=20=C2=B11=20pour=20forcer=20highlight?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit set_value(même_valeur) est un no-op dans GTK3 (skippé si inchangé). Oscillation v-1 → v pour déclencher le recalcul réel du nœud CSS highlight dans le trough. --- INSTALL/configs/waybar/scripts/vc-media-popup.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/INSTALL/configs/waybar/scripts/vc-media-popup.py b/INSTALL/configs/waybar/scripts/vc-media-popup.py index 3030650..2534883 100755 --- a/INSTALL/configs/waybar/scripts/vc-media-popup.py +++ b/INSTALL/configs/waybar/scripts/vc-media-popup.py @@ -337,11 +337,16 @@ class MediaPopup(Gtk.Window): self.grab_focus() def _redraw_scales(self): - """Force GTK3 à recalculer les positions highlight après réalisation.""" + """Force GTK3 à recalculer les highlights. + set_value(même_valeur) est un no-op — on oscille ±1 pour déclencher + un vrai recalcul de la position du highlight dans le trough.""" self._blk = True - self.sink_scale.set_value(self.sink_scale.get_value()) - self.src_scale.set_value(self.src_scale.get_value()) - self.bright_scale.set_value(self.bright_scale.get_value()) + for scale in [self.sink_scale, self.src_scale, self.bright_scale]: + v = scale.get_value() + adj = scale.get_adjustment() + lo = adj.get_lower() + scale.set_value(max(lo, v - 1)) # valeur différente → GTK recalcule + scale.set_value(v) # retour à la valeur réelle self._blk = False return False