control panel: scope the enlarged icons to the slider buttons
.rowbtn is shared by the audio device rows and the back button, so raising its font size enlarged the whole audio list. The speaker/mic buttons beside a slider now use their own .volbtn class; .rowbtn is back to 14px. The window also now shrinks to each view's natural size instead of keeping the tallest view's height. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
This commit is contained in:
parent
5f8f38840b
commit
3f9383e3d1
1 changed files with 19 additions and 7 deletions
|
|
@ -20,11 +20,11 @@ CSS = b"""
|
|||
/* Glyphs come from the Nerd Font. Without an explicit family, GTK uses the
|
||||
desktop font (Noto Sans), which lacks them, and Pango's per-glyph fallback
|
||||
picks a font that ignores the css colour - that is why icons rendered black. */
|
||||
.icon, .tile-icon, .pw, .rowbtn, .title,
|
||||
.icon label, .pw label, .rowbtn label, .tile label {
|
||||
.icon, .tile-icon, .pw, .rowbtn, .volbtn, .title,
|
||||
.icon label, .pw label, .rowbtn label, .volbtn label, .tile label {
|
||||
font-family: "JetBrainsMono Nerd Font", "Symbols Nerd Font", monospace;
|
||||
}
|
||||
.pw label, .rowbtn label { color: #e9eefb; }
|
||||
.pw label, .rowbtn label, .volbtn label { color: #e9eefb; }
|
||||
.pw:hover label { color: #e9eefb; }
|
||||
|
||||
window.panel { background-color: transparent; }
|
||||
|
|
@ -74,9 +74,20 @@ window.panel { background-color: transparent; }
|
|||
border: none;
|
||||
border-radius: 10px;
|
||||
color: #e9eefb;
|
||||
font-size: 19px;
|
||||
padding: 9px 12px;
|
||||
font-size: 14px;
|
||||
padding: 10px 12px;
|
||||
}
|
||||
/* only the speaker/mic buttons beside a slider, not every list row */
|
||||
.volbtn {
|
||||
background-image: none;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
border-radius: 10px;
|
||||
color: #e9eefb;
|
||||
font-size: 19px;
|
||||
padding: 6px 10px;
|
||||
}
|
||||
.volbtn:hover { background-color: rgba(146, 185, 234, 0.17); }
|
||||
.rowbtn:hover { background-color: rgba(146, 185, 234, 0.17); }
|
||||
.rowbtn.chosen { background-color: rgba(146, 185, 234, 0.22); color: #cfe0f7; }
|
||||
.rowbtn.unavail { color: #6f6889; }
|
||||
|
|
@ -441,7 +452,7 @@ class Panel(Gtk.Window):
|
|||
def slider_row(self, icon, on_change, on_click):
|
||||
row = Gtk.Box(spacing=10)
|
||||
btn = Gtk.Button(label=icon)
|
||||
btn.get_style_context().add_class("rowbtn")
|
||||
btn.get_style_context().add_class("volbtn")
|
||||
btn.connect("clicked", on_click)
|
||||
scale = Gtk.Scale.new_with_range(Gtk.Orientation.HORIZONTAL, 0, 100, 1)
|
||||
scale.set_draw_value(False)
|
||||
|
|
@ -540,7 +551,7 @@ class Panel(Gtk.Window):
|
|||
muted_icon = {ICON["vol"]: ICON["vol_mute"],
|
||||
ICON["mic"]: ICON["mic_mute"]}.get(base, ICON["vol_mute"])
|
||||
mb = Gtk.Button(label=muted_icon if muted else base)
|
||||
mb.get_style_context().add_class("rowbtn")
|
||||
mb.get_style_context().add_class("volbtn")
|
||||
mb.connect("clicked", lambda *_: (
|
||||
sh(f"wpctl set-mute {idx} toggle" if wp
|
||||
else f"pactl set-sink-input-mute {idx} toggle"),
|
||||
|
|
@ -653,6 +664,7 @@ class Panel(Gtk.Window):
|
|||
if name != "main":
|
||||
{"bt": self.fill_bt, "net": self.fill_net, "audio": self.fill_audio}[name]()
|
||||
self.stack.set_visible_child_name(name)
|
||||
GLib.idle_add(lambda: (self.resize(1, 1), False)[1])
|
||||
|
||||
def on_key(self, _w, ev):
|
||||
if ev.keyval == Gdk.KEY_Escape:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue