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,58 @@
|
||||
/* Skin "green" — inspirado en la consola de radiodifusión profesional
|
||||
clásica (verde/ámbar/azul sobre gris acero). 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(#20242b); color: #d8dde3; }
|
||||
|
||||
.header-bar { background-image: image(#14171c); border-bottom: 2px solid #3a4a3a; }
|
||||
|
||||
.clock-label { color: #3ddc61; }
|
||||
.station-name-lbl { color: #ffcc44; }
|
||||
|
||||
.now-playing-bar { background-image: image(#2d3a2d); }
|
||||
.now-playing-label { color: #3ddc61; }
|
||||
|
||||
.version-lbl { color: #7f96b0; }
|
||||
|
||||
.deck-frame { background-image: image(#2a2f26); border: 1px solid #4a5a3a; }
|
||||
.deck-frame > label { background-image: image(#3a4a30); color: #d8e8c8; }
|
||||
|
||||
.track-title { background-image: image(#2a5a8a); }
|
||||
.time-label { color: #3ddc61; }
|
||||
|
||||
scale trough { background-image: image(#3a3a3a); }
|
||||
scale highlight { background-image: image(#3f8f3f); }
|
||||
scale slider { background-image: image(#4caf50); border-color: #2e7d32; }
|
||||
|
||||
.control-btn { background-image: image(#e9e4d0); color: #1a2410; border-color: #4a6a2a; }
|
||||
.control-btn:hover { background-image: image(#4a6a2a); color: #ffffff; }
|
||||
.control-btn:active { background-image: image(#2a4a1a); color: #ffffff; }
|
||||
|
||||
button.deck-icon-btn { background-image: image(#3a4530); border-color: #4a6a2a; }
|
||||
button.deck-icon-btn:hover { background-image: image(#4a5a3a); border-color: #6a9a3a; }
|
||||
button.deck-icon-btn:active { background-image: image(#2a3520); }
|
||||
|
||||
button.global-icon-btn { background-image: image(#3a4530); border-color: #4a6a2a; }
|
||||
button.global-icon-btn:hover { background-image: image(#4a5a3a); border-color: #6a9a3a; }
|
||||
button.global-icon-btn:active { background-image: image(#2a3520); }
|
||||
button.global-icon-btn:checked { background-image: image(#2e7d32); border-color: #4caf50; }
|
||||
|
||||
.ext-sq-btn { background-image: image(#3a4530); color: #ffcc44; border-color: #4a6a2a; }
|
||||
.ext-sq-btn:hover { background-image: image(#4a6a2a); color: #ffffff; }
|
||||
|
||||
.duck-btn { background-image: image(#e9e4d0); color: #1a2410; border-color: #4a6a2a; }
|
||||
.duck-btn:checked, .duck-btn:hover { background-image: image(#4a6a2a); color: #ffffff; }
|
||||
|
||||
.list-frame { background-image: image(#1c201a); border-color: #4a5a3a; }
|
||||
.list-frame > label { background-image: image(#3a4a30); }
|
||||
|
||||
.queue-list row { background-image: image(#1c201a); }
|
||||
.queue-list row:nth-child(even) { background-image: image(#242822); }
|
||||
.queue-list row:hover { background-image: image(#2c3226); }
|
||||
|
||||
.playing-row { background-image: image(#3f6f3f); }
|
||||
button.queue-idx-btn { background-image: image(#1565c0); }
|
||||
Reference in New Issue
Block a user