From 09bc2cbd85c8cae9ea63daaf8fa4c5875fb796c5 Mon Sep 17 00:00:00 2001 From: Tetardtek Date: Mon, 23 Feb 2026 16:31:47 +0100 Subject: [PATCH] =?UTF-8?q?fix(popup):=20forcer=20redraw=20GTK3=20des=20sl?= =?UTF-8?q?iders=20apr=C3=A8s=20r=C3=A9alisation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GTK3 bug : quand set_value() est appelé avant que le widget soit réalisé et que la valeur = max (100%), le nœud CSS 'highlight' calcule sa largeur à 0. Fix : re-appliquer les valeurs via idle_add après show_all() pour déclencher un recalcul correct. --- INSTALL/configs/waybar/scripts/vc-media-popup.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/INSTALL/configs/waybar/scripts/vc-media-popup.py b/INSTALL/configs/waybar/scripts/vc-media-popup.py index 322bbf4..3030650 100755 --- a/INSTALL/configs/waybar/scripts/vc-media-popup.py +++ b/INSTALL/configs/waybar/scripts/vc-media-popup.py @@ -331,8 +331,20 @@ class MediaPopup(Gtk.Window): self.destroy() if e.keyval == Gdk.KEY_Escape else None) self.connect('focus-out-event', lambda *_: self.destroy()) self.show_all() + # GTK3 bug : set_value() avant réalisation → highlight width=0 à max + # Forcer un re-calcul après que les widgets sont visibles + GLib.idle_add(self._redraw_scales) self.grab_focus() + def _redraw_scales(self): + """Force GTK3 à recalculer les positions highlight après réalisation.""" + 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()) + self._blk = False + return False + # ── Builders UI ─────────────────────────────────────────────────────────── def _section_header(self, label, icon):