summaryrefslogtreecommitdiffstats
path: root/desktop/modules/sound/Osd.qml
AgeCommit message (Collapse)AuthorFilesLines
2026-09-29feat(sound): album art as the OSD backgroundDanilo M.1-0/+50
When the current track has art, the volume OSD now draws it across the whole panel, blurred (MultiEffect blur 0.5, default blurMax) and masked to the panel's rounded corners, since clip only cuts to the bounding box. The thumbnail in the track row stays sharp on top. A dark scrim (Theme.base at 0.82) sits over the art. The palette is dark and the text light, so a light cover made the panel unreadable, and more blur did not fix that; only darkening did. The scrim is a sibling of the MultiEffect, not a child: nested inside it, it did not paint at all, which is why raising its alpha first appeared to change nothing. Without art the panel keeps its translucent, compositor-frosted look. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25fix(sound): collapse the OSD track row when the player goes awayDanilo M.1-0/+5
A Loader keeps the height of its last item after active goes false. When a browser tab playing media was closed, its MPRIS player vanished, Player.active dropped and the window shrank to 100px, but the Loader still reserved 46px plus the Column spacing on top. The volume row was pushed down and clipped at the bottom edge, which is the "stuck" OSD a hot reload used to cure: a fresh Loader starts at zero height. Hiding the Loader while inactive makes the Column skip it. Both the retained height and the collapse were confirmed with headless qml6 runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-18feat(sound): show the active device name in the volume OSDDanilo M.1-2/+12
The OSD showed only "Output"/"Input", not which device was in use, so switching between, say, the analogue output and a USB DAC gave no visible confirmation beyond the volume itself. The name falls back description -> nickname -> name, the same order SoundPage.devLabel uses, and elides. The panel height grows to fit the new line.
2026-09-14feat(desktop): pin glyphs to Inconsolata Nerd FontDanilo M.1-2/+2
Glyphs are Nerd Font private-use codepoints, and relying on per-codepoint fontconfig fallback from Noto Sans let the same codepoint resolve to a different glyph in a different Nerd Font. A Theme.iconFamily now names the render family once, and every glyph Text uses it, while fontFamily stays Noto Sans for words and labels. The ethernet glyph moves from \uf6ff to \uef44, the fa-ethernet codepoint present in Inconsolata.
2026-09-14feat(desktop): move volume-osd in as the sound moduleDanilo M.1-0/+254
VolumeOsd.qml did three jobs in one file: PipeWire tracking, the OSD surface and the player transport. They become Service, Osd and the page. The OSD keeps its namespace so the existing Hyprland blur rule still matches, and the service stays always-active because the OSD has to answer a keypress with no drawer open.