diff --git a/modules/Services/Audio.qml b/modules/Services/Audio.qml index 6caff59..9e80a97 100644 --- a/modules/Services/Audio.qml +++ b/modules/Services/Audio.qml @@ -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; + } } diff --git a/modules/bar/VolPopup.qml b/modules/bar/VolPopup.qml index 37e424f..e74fcfa 100644 --- a/modules/bar/VolPopup.qml +++ b/modules/bar/VolPopup.qml @@ -24,9 +24,11 @@ PopupWindow { ColumnLayout { id: audioLayout anchors.fill: parent - anchors.margins: 12 + anchors.centerIn: parent + anchors.margins: 10 spacing: 8 Repeater { + model: Audio.sinks delegate: Rectangle { id: audioDelContainer @@ -44,7 +46,7 @@ PopupWindow { StyledText { text: audioDelContainer.modelData.nickname - Layout.leftMargin: 10 + Layout.leftMargin: 10 Layout.fillWidth: true } IconImage { @@ -81,7 +83,7 @@ PopupWindow { cursorShape: Qt.PointingHandCursor acceptedButtons: Qt.LeftButton onClicked: { - Audio.preferredAudio = audioDelContainer.modelData + Audio.setDefaultSink(audioDelContainer.modelData) } } } diff --git a/settings/settings.ini b/settings/settings.ini index d7267cc..6c706e0 100644 --- a/settings/settings.ini +++ b/settings/settings.ini @@ -9,4 +9,4 @@ primaryMon=eDP-1 rounding=16 showCorners=true wallDir=file:///home/lucy/.walls -wallpaper=@Variant(\0\0\0\x11\0\0\0!/home/lucy/.walls/frierensuff.png) +wallpaper=@Variant(\0\0\0\x11\0\0\0\x1b/home/lucy/.walls/faris.png)