226 lines
5.8 KiB
CSS
226 lines
5.8 KiB
CSS
/* audio-panel — plain CyberQueer theme (hyprlua's standard look, no hologram/
|
|
* glow treatment). Hand-maintained here, not generated: regen-audio-panel.sh
|
|
* copies this file into desktopenvs/hyprlua/audio-panel/style/ as-is,
|
|
* replacing whatever style.css hyprlua's audio-panel shipped.
|
|
* Mirrors astal-menu's own plainness relative to astro-menu: flat @violet/@bg
|
|
* fills instead of alpha glass, no box-shadow glow, no hover transitions, no
|
|
* @text colour override.
|
|
*
|
|
* Targets the SAME `.sb-*` class names as the original — that prefix isn't
|
|
* touched by regen-audio-panel.sh's rename pass (it doesn't contain
|
|
* "audio-panel"/"audiopanel" as a substring), so nothing here
|
|
* needs renaming. */
|
|
|
|
* {
|
|
font-family: "Agave Nerd Font Mono", monospace;
|
|
font-size: 11pt;
|
|
}
|
|
|
|
window,
|
|
window.background,
|
|
.sb-window,
|
|
.sb-scroll-row,
|
|
box,
|
|
overlay,
|
|
label,
|
|
image,
|
|
drawingarea {
|
|
background: transparent;
|
|
background-color: transparent;
|
|
}
|
|
|
|
.sb-panel {
|
|
background-color: @violet;
|
|
border: 2px solid @violet;
|
|
border-radius: 12px;
|
|
padding: 14px 16px;
|
|
}
|
|
|
|
.sb-header { margin: 0 64px 4px 0; }
|
|
.sb-title {
|
|
color: @text;
|
|
font-weight: bold;
|
|
font-size: 14pt;
|
|
}
|
|
|
|
/* ---- tab switcher --------------------------------------------------------- */
|
|
.sb-tabbar { margin-bottom: 4px; }
|
|
.sb-tab {
|
|
color: @text;
|
|
background-color: @violet;
|
|
border: 2px solid @violet;
|
|
border-radius: 16px;
|
|
padding: 4px 14px;
|
|
min-height: 26px;
|
|
}
|
|
.sb-tab:hover {
|
|
border-color: @accent;
|
|
color: @accent;
|
|
}
|
|
.sb-tab:checked {
|
|
background-color: @accent;
|
|
border-color: @accent;
|
|
color: @bg;
|
|
}
|
|
|
|
.sb-tab-page { min-height: 250px; } /* tall enough for a card with vertical meters */
|
|
|
|
/* ---- horizontal scroll row of cards ---------------------------------------- */
|
|
.sb-scroll-row { padding: 4px 2px 10px 2px; }
|
|
.sb-row { padding: 2px; }
|
|
.sb-empty {
|
|
color: @text;
|
|
opacity: 0.6;
|
|
padding: 40px 20px;
|
|
}
|
|
|
|
/* ---- cards ---------------------------------------------------------------- */
|
|
.sb-card {
|
|
background-color: alpha(@violet, 0.5);
|
|
border: 2px solid @violet;
|
|
border-radius: 10px;
|
|
padding: 8px 10px;
|
|
min-width: 150px;
|
|
}
|
|
.sb-card-head { margin-bottom: 2px; }
|
|
.sb-card-title {
|
|
color: @text;
|
|
font-weight: bold;
|
|
font-size: 10.5pt;
|
|
}
|
|
.sb-field-label {
|
|
color: @text;
|
|
opacity: 0.65;
|
|
font-size: 8.5pt;
|
|
}
|
|
|
|
/* ---- vertical volume meter (Gtk.Scale) --------------------------------------- */
|
|
/* The accent fill is the volume you *selected*; the violet column ui/peakbar.py
|
|
* paints inside it (Cairo — nothing to style here beyond the muted dimming) is
|
|
* the live signal. No box-shadow glow on the fill, unlike hyprlua's
|
|
* audio-panel: this variant stays flat, see the header. */
|
|
.sb-meter-row { margin: 2px 0; }
|
|
/* class-specificity re-assertion of the transparent-structure rule above: the
|
|
* CyberQueer theme's `* { background-color: #1a1a1a }` otherwise paints a slab
|
|
* behind the value label and behind the peak column overlaid on the trough,
|
|
* which reads as a dark stripe punched through the fill. */
|
|
.sb-meter-row,
|
|
.sb-meter-stack,
|
|
.sb-meter-value,
|
|
.sb-meter-label,
|
|
.sb-meter,
|
|
.sb-peakbar {
|
|
background-image: none;
|
|
background-color: transparent;
|
|
}
|
|
.sb-meter-label {
|
|
color: @text;
|
|
opacity: 0.75;
|
|
font-size: 9pt;
|
|
}
|
|
.sb-meter-value {
|
|
color: @text;
|
|
opacity: 0.85;
|
|
font-size: 9pt;
|
|
}
|
|
/* empty portion stays see-through — an idle meter and a silent monitor both
|
|
* read as "nothing here", with only the outline holding the shape */
|
|
.sb-meter trough {
|
|
background-color: transparent;
|
|
border: 1px solid @violet;
|
|
border-radius: 10px;
|
|
min-width: 20px;
|
|
}
|
|
.sb-meter highlight {
|
|
background-color: @accent;
|
|
border-radius: 10px;
|
|
}
|
|
.sb-meter slider {
|
|
background-color: @text; /* the fader cap, riding on top of the fill */
|
|
border-radius: 3px;
|
|
min-width: 24px;
|
|
min-height: 10px; /* half of this is ui/meter.py's SLIDER_INSET */
|
|
}
|
|
.sb-meter.sb-meter-muted highlight { background-color: alpha(@text, 0.3); }
|
|
.sb-meter.sb-meter-muted slider { background-color: alpha(@text, 0.4); }
|
|
.sb-meter-row.sb-meter-muted .sb-peakbar { opacity: 0.35; }
|
|
|
|
/* ---- controls (mute / L-R toggle / default) --------------------------------- */
|
|
.sb-card-controls { margin-top: 2px; }
|
|
.sb-mute-btn,
|
|
.sb-lr-toggle,
|
|
.sb-default-btn {
|
|
color: @text;
|
|
background-color: @violet;
|
|
border: 2px solid @violet;
|
|
border-radius: 14px;
|
|
padding: 2px 10px;
|
|
min-height: 24px;
|
|
font-size: 9pt;
|
|
}
|
|
.sb-mute-btn:hover,
|
|
.sb-lr-toggle:hover,
|
|
.sb-default-btn:hover {
|
|
border-color: @accent;
|
|
color: @accent;
|
|
}
|
|
.sb-mute-btn:checked {
|
|
background-color: @danger;
|
|
border-color: @danger;
|
|
color: @bg;
|
|
}
|
|
.sb-lr-toggle:checked {
|
|
background-color: @accent;
|
|
border-color: @accent;
|
|
color: @bg;
|
|
}
|
|
.sb-default-btn:checked {
|
|
background-color: #34E27A;
|
|
border-color: #34E27A;
|
|
color: @bg;
|
|
}
|
|
.sb-default-btn:disabled { opacity: 0.85; }
|
|
|
|
/* ---- dropdowns -------------------------------------------------------------- */
|
|
.sb-device-dropdown {
|
|
color: @text;
|
|
background-color: @bg;
|
|
border: 2px solid @violet;
|
|
border-radius: 8px;
|
|
padding: 2px 6px;
|
|
min-height: 26px;
|
|
font-size: 9pt;
|
|
}
|
|
.sb-device-dropdown:hover { border-color: @accent; }
|
|
|
|
/* ---- general settings tab ---------------------------------------------------- */
|
|
.sb-general { padding: 6px 4px; }
|
|
.sb-general-field { margin-bottom: 4px; }
|
|
.sb-server-info {
|
|
color: @text;
|
|
opacity: 0.6;
|
|
font-size: 9pt;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
/* floating panel-level close button (top-right) — same idiom astal-menu uses
|
|
* for its own menu-window close button. */
|
|
.close-btn {
|
|
color: @text;
|
|
background: @violet;
|
|
border: none;
|
|
border-radius: 20px;
|
|
min-width: 34px;
|
|
min-height: 34px;
|
|
margin: 16px 20px;
|
|
}
|
|
.close-btn:hover {
|
|
background: @accent;
|
|
color: @bg;
|
|
}
|
|
|
|
scrollbar slider { background: @violet; border-radius: 8px; min-width: 6px; min-height: 6px; }
|
|
scrollbar slider:hover { background: @accent; }
|
|
|
|
.sb-hologram { background: transparent; }
|