pragma Singleton import Quickshell import Quickshell.Services.Pipewire Singleton { id: root readonly property PwNode sink: Pipewire.defaultAudioSink readonly property PwNode source: Pipewire.defaultAudioSource readonly property bool muted: sink?.audio?.muted ?? false readonly property real volume: sink?.audio?.volume ?? 0 readonly property int volumePercent: Math.round(volume * 100) readonly property bool micMuted: source?.audio?.muted ?? false function setVolume(volume: real): void { if (sink?.ready && sink?.audio) { sink.audio.muted = false; sink.audio.volume = volume; } } PwObjectTracker { objects: [Pipewire.defaultAudioSink, Pipewire.defaultAudioSource] } }