Commit inicial: G Radio Player
Sistema de automatización de radio en Rust (GTK4 + GStreamer): reproductor principal con crossfade y ducking, scheduler de comerciales, refill de playlist, y herramientas auxiliares (pautaje, parrilla, botonera, visor, buscador, playlist, grabador, reportes). Incluye sistema de skins y modos de Players (paneles de reproducción configurables).
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
/* Skin "red" — paleta roja/carmesí sobre negro. Solo colores: mantiene
|
||||
el layout de G Radio Player intacto.
|
||||
|
||||
NOTA GTK4: los overrides de color de fondo usan background-image: image()
|
||||
en vez de background-color, porque el tema del sistema puede pisar
|
||||
background-color pero no background-image (ver LEEME.txt en ejemplo/). */
|
||||
|
||||
window { background-image: image(#2a0d0d); color: #f0dcdc; }
|
||||
|
||||
.header-bar { background-image: image(#1a0808); border-bottom: 2px solid #4a1e1e; }
|
||||
|
||||
.clock-label { color: #ff6b6b; }
|
||||
.station-name-lbl { color: #ff8080; }
|
||||
|
||||
.now-playing-bar { background-image: image(#3a1414); }
|
||||
.now-playing-label { color: #ff6b6b; }
|
||||
|
||||
.version-lbl { color: #b08080; }
|
||||
|
||||
.deck-frame { background-image: image(#2a1414); border: 1px solid #6a2a2a; }
|
||||
.deck-frame > label { background-image: image(#4a1e1e); color: #ffcccc; }
|
||||
|
||||
.track-title { background-image: image(#8a2a2a); }
|
||||
.time-label { color: #ff6b6b; }
|
||||
|
||||
scale trough { background-image: image(#3a1a1a); }
|
||||
scale highlight { background-image: image(#c62828); }
|
||||
scale slider { background-image: image(#e53935); border-color: #b71c1c; }
|
||||
|
||||
.control-btn { background-image: image(#f0e0e0); color: #3a0d0d; border-color: #b71c1c; }
|
||||
.control-btn:hover { background-image: image(#b71c1c); color: #ffffff; }
|
||||
.control-btn:active { background-image: image(#7a1212); color: #ffffff; }
|
||||
|
||||
button.deck-icon-btn { background-image: image(#4a1e1e); border-color: #6a2a2a; }
|
||||
button.deck-icon-btn:hover { background-image: image(#5a2626); border-color: #9a3a3a; }
|
||||
button.deck-icon-btn:active { background-image: image(#2a1010); }
|
||||
|
||||
button.global-icon-btn { background-image: image(#4a1e1e); border-color: #6a2a2a; }
|
||||
button.global-icon-btn:hover { background-image: image(#5a2626); border-color: #9a3a3a; }
|
||||
button.global-icon-btn:active { background-image: image(#2a1010); }
|
||||
button.global-icon-btn:checked { background-image: image(#c62828); border-color: #ff6b6b; }
|
||||
|
||||
.ext-sq-btn { background-image: image(#4a1e1e); color: #ff8080; border-color: #6a2a2a; }
|
||||
.ext-sq-btn:hover { background-image: image(#6a2a2a); color: #ffffff; }
|
||||
|
||||
.duck-btn { background-image: image(#f0e0e0); color: #3a0d0d; border-color: #b71c1c; }
|
||||
.duck-btn:checked, .duck-btn:hover { background-image: image(#b71c1c); color: #ffffff; }
|
||||
|
||||
.list-frame { background-image: image(#241010); border-color: #6a2a2a; }
|
||||
.list-frame > label { background-image: image(#4a1e1e); }
|
||||
|
||||
.queue-list row { background-image: image(#241010); }
|
||||
.queue-list row:nth-child(even) { background-image: image(#2e1414); }
|
||||
.queue-list row:hover { background-image: image(#3a1818); }
|
||||
|
||||
.playing-row { background-image: image(#8a2a2a); }
|
||||
button.queue-idx-btn { background-image: image(#c62828); }
|
||||
Reference in New Issue
Block a user