fix(wob+popup): contours colorés + labels rose + slider micro visible

wob-overlay.py :
- Bordure rose (#ff79c6) pour volume, cyan (#8be9fd) pour luminosité
  via classes CSS dynamiques sur #wob-box
- Ouverture FIFO en O_RDWR : plus de deadlock au redémarrage,
  plus d'EOF entre deux écritures (supprime la dépendance à exec 3<>)

vc-media-popup.py :
- Labels ENTRÉE / SORTIE en rose (#ff79c6) au lieu de 45% opacité
- min-height: 22px sur scale.audio et scale.bright pour forcer
  le rendu du slider micro (était compressé à 0 par GTK3)
This commit is contained in:
Tetardtek
2026-02-23 14:33:18 +01:00
parent 140351675d
commit f74d5bc173
2 changed files with 26 additions and 3 deletions

View File

@@ -26,7 +26,7 @@ window {
/* ── Labels ────────────────────────────────────────────────────────────────── */ /* ── Labels ────────────────────────────────────────────────────────────────── */
#section-label { #section-label {
color: rgba(248, 248, 242, 0.45); color: #ff79c6;
font-family: "JetBrainsMono Nerd Font"; font-family: "JetBrainsMono Nerd Font";
font-size: 10px; font-size: 10px;
font-weight: bold; font-weight: bold;
@@ -94,6 +94,10 @@ window {
/* ── Sliders audio (rose) ───────────────────────────────────────────────────── */ /* ── Sliders audio (rose) ───────────────────────────────────────────────────── */
scale.audio {
min-height: 22px;
}
scale.audio trough { scale.audio trough {
background-color: rgba(92, 73, 108, 0.55); background-color: rgba(92, 73, 108, 0.55);
border-radius: 3px; border-radius: 3px;
@@ -132,6 +136,10 @@ scale.audio.muted slider {
/* ── Slider luminosité (cyan) ───────────────────────────────────────────────── */ /* ── Slider luminosité (cyan) ───────────────────────────────────────────────── */
scale.bright {
min-height: 22px;
}
scale.bright trough { scale.bright trough {
background-color: rgba(92, 73, 108, 0.55); background-color: rgba(92, 73, 108, 0.55);
border-radius: 3px; border-radius: 3px;

View File

@@ -27,6 +27,14 @@ window {
padding: 10px 16px; padding: 10px 16px;
} }
#wob-box.vol {
border-color: rgba(255, 121, 198, 0.85);
}
#wob-box.bright {
border-color: rgba(139, 233, 253, 0.85);
}
#wob-icon { #wob-icon {
font-family: "JetBrainsMono Nerd Font"; font-family: "JetBrainsMono Nerd Font";
font-size: 15px; font-size: 15px;
@@ -122,6 +130,7 @@ class WobOverlay(Gtk.Window):
# ── Layout ─────────────────────────────────────────────────────────── # ── Layout ───────────────────────────────────────────────────────────
outer = Gtk.Box() outer = Gtk.Box()
outer.set_name('wob-box') outer.set_name('wob-box')
self._box = outer
self.add(outer) self.add(outer)
self._icon_lbl = Gtk.Label() self._icon_lbl = Gtk.Label()
@@ -154,10 +163,13 @@ class WobOverlay(Gtk.Window):
icon = _icon(VOL_ICONS, val) icon = _icon(VOL_ICONS, val)
css_class = 'vol' css_class = 'vol'
sc = self._bar.get_style_context() sc = self._bar.get_style_context()
bsc = self._box.get_style_context()
for c in ['vol', 'bright']: for c in ['vol', 'bright']:
sc.remove_class(c) sc.remove_class(c)
bsc.remove_class(c)
sc.add_class(css_class) sc.add_class(css_class)
bsc.add_class(css_class)
self._icon_lbl.set_label(icon) self._icon_lbl.set_label(icon)
self._icon_lbl.set_markup( self._icon_lbl.set_markup(
@@ -185,7 +197,10 @@ def _fifo_reader(overlay):
try: try:
if not os.path.exists(FIFO): if not os.path.exists(FIFO):
os.mkfifo(FIFO) os.mkfifo(FIFO)
with open(FIFO, 'r') as f: # O_RDWR : ne bloque pas à l'ouverture ET garde le FIFO ouvert
# entre deux écritures (pas d'EOF même sans writer actif)
fd = os.open(FIFO, os.O_RDWR)
with os.fdopen(fd, 'r') as f:
for line in f: for line in f:
line = line.strip() line = line.strip()
if not line: if not line: