aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/sound/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/modules/sound/README.md')
-rw-r--r--desktop/modules/sound/README.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/desktop/modules/sound/README.md b/desktop/modules/sound/README.md
index 5205be8..365be4a 100644
--- a/desktop/modules/sound/README.md
+++ b/desktop/modules/sound/README.md
@@ -33,6 +33,22 @@ From Hyprland, to start the shell with the session:
exec-once = qs -p ~/Programming/GIT/quickshell/desktop
+## The page
+
+Output and input, each with its device, a device picker and a slider, then
+one row per application playing audio, with its own slider and mute. The
+output slider runs to 150%, the ceiling the volume keybind uses
+(`wpctl -l 1.5`), with a tick at 100%; input and applications stop at 100%.
+Now playing is the OSD's job, not the page's.
+
+Applications are matched on `PwNodeType.AudioOutStream`, not on `isSink`:
+Quickshell reports `isSink` true for a playback stream, so the obvious
+`isStream && !isSink` filter returned nothing while Firefox was playing. A
+stream's `properties` (`application.name`, `media.name`) are empty until
+something binds the node, so the page carries its own `PwObjectTracker` for
+the streams. `speech-dispatcher-dummy` is a playback stream that is always
+present and never audible, and is filtered out by name.
+
## Now playing
When an MPRIS player is running, a track row sits above the volume bar: album