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:
@@ -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;
|
||||||
|
|||||||
@@ -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()
|
||||||
@@ -155,9 +164,12 @@ class WobOverlay(Gtk.Window):
|
|||||||
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:
|
||||||
|
|||||||
Reference in New Issue
Block a user