finish volume widget

This commit is contained in:
lucy 2026-08-25 20:31:23 +02:00
commit c4ad2cee18
3 changed files with 12 additions and 7 deletions

View file

@ -6,7 +6,7 @@ import Quickshell.Services.Pipewire
Singleton {
id: root
property bool ready: Pipewire.ready
property bool muted: defaultAudio.audio.muted
property bool muted: ready ? defaultAudio.audio.muted : true
property PwNode defaultAudio: Pipewire.defaultAudioSink
property PwNode preferredAudio: Pipewire.preferredDefaultAudioSink
property real percentage: Math.round(preferredAudio?.audio.volume * 100)
@ -16,8 +16,8 @@ Singleton {
objects: [...root.sinks, ...root.sources]
}
function getVolumeIcon(sink) {
let mute = sink.audio.muted
let volume = sink.audio.volume
let mute = root.ready ? sink.audio.muted : true;
let volume = root.ready ? sink.audio.volume : 0;
if (mute) {
return "audio-volume-muted-symbolic";
}
@ -31,4 +31,7 @@ Singleton {
return "audio-volume-high-symbolic";
}
}
function setDefaultSink(node: PwNode): void {
Pipewire.preferredDefaultAudioSink = node;
}
}