quickshell icon indicating copy to clipboard operation
quickshell copied to clipboard

Sleepy Pipewire

Open TheMerret opened this issue 6 months ago • 5 comments
trafficstars

Quickshell's pipewire service gives current volume only after linking any node to the default sink node. My quickshell version: quickshell pre-release, revision 67524f9d8e4ac5e09ea4427e11f2284e6a6f93fe, distributed by: Official-Nix-Flake. I use quickshell config from this repo: https://github.com/SirEthanator/Quickshell-WIP. Here is the snippet:

  readonly property PwNode audioNode: Pipewire.defaultAudioSink;
  PwObjectTracker { objects: [ root.audioNode ] }
  readonly property int volume: Math.round(audioNode?.audio.volume * 100);

I start quickshell from niri's config spawn at startup. Then using commands like wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1 producing no updates on pipewire default Audio node status. But when I connect something to default sink ports (launching pavucontrol, playing video using mpv, manually in helvum), setting volume gives expexted PwNode updates in quickshell. Now at startup I run pw-loopback and kill it immediately, but I think that is just workaround for above unexpected behaviour. If there any trace methods to find the root problem?

TheMerret avatar May 07 '25 19:05 TheMerret

Can't reproduce this one, but your log might have enough information to work from. Can you send a .qslog file with the problem reproduced?

outfoxxed avatar May 12 '25 02:05 outfoxxed

The log shows the node is bound and should be receiving volume changes. Does that set-volume actually do anything for you?

outfoxxed avatar May 14 '25 02:05 outfoxxed

Yes. wpctl get-volume @DEFAULT_AUDIO_SINK@ gives desired number and volume is actually changing.

TheMerret avatar May 14 '25 07:05 TheMerret

Was able to reproduce with source

outfoxxed avatar May 15 '25 10:05 outfoxxed

95d0af8113394b1fdb71c94ac5160c83b8b829cb should fix it. Let me know if it doesn't.

outfoxxed avatar Jun 19 '25 12:06 outfoxxed