Dotfiles/desktopenvs/hyprlua/audio-panel/style/style.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; }