From 8e1ad1a2be0ee02fc635bc9fa2b26519b0cfb637 Mon Sep 17 00:00:00 2001 From: bbedward Date: Thu, 19 Feb 2026 16:24:28 -0500 Subject: [PATCH] audio: fix hide device not working --- .../Details/AudioInputDetail.qml | 23 ++++++++++++++++++- .../Details/AudioOutputDetail.qml | 23 ++++++++++++++++++- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/quickshell/Modules/ControlCenter/Details/AudioInputDetail.qml b/quickshell/Modules/ControlCenter/Details/AudioInputDetail.qml index 26e650c6..945aa248 100644 --- a/quickshell/Modules/ControlCenter/Details/AudioInputDetail.qml +++ b/quickshell/Modules/ControlCenter/Details/AudioInputDetail.qml @@ -40,6 +40,24 @@ Rectangle { font.weight: Font.Medium anchors.verticalCenter: parent.verticalCenter } + + Item { + height: 1 + width: parent.width - headerText.width - settingsButton.width + } + + DankActionButton { + id: settingsButton + anchors.verticalCenter: parent.verticalCenter + iconName: "settings" + buttonSize: 28 + iconSize: 16 + iconColor: Theme.surfaceVariantText + onClicked: { + PopoutService.closeControlCenter(); + PopoutService.openSettingsWithTab("audio"); + } + } } Row { @@ -151,8 +169,11 @@ Rectangle { Repeater { model: ScriptModel { values: { + const hidden = SessionData.hiddenInputDeviceNames ?? []; const nodes = Pipewire.nodes.values.filter(node => { - return node.audio && !node.isSink && !node.isStream; + if (!node.audio || node.isSink || node.isStream) + return false; + return !hidden.includes(node.name); }); const pinnedList = audioContent.getPinnedInputs(); diff --git a/quickshell/Modules/ControlCenter/Details/AudioOutputDetail.qml b/quickshell/Modules/ControlCenter/Details/AudioOutputDetail.qml index 96499df7..f6949535 100644 --- a/quickshell/Modules/ControlCenter/Details/AudioOutputDetail.qml +++ b/quickshell/Modules/ControlCenter/Details/AudioOutputDetail.qml @@ -40,6 +40,24 @@ Rectangle { font.weight: Font.Medium anchors.verticalCenter: parent.verticalCenter } + + Item { + height: 1 + width: parent.width - headerText.width - settingsButton.width + } + + DankActionButton { + id: settingsButton + anchors.verticalCenter: parent.verticalCenter + iconName: "settings" + buttonSize: 28 + iconSize: 16 + iconColor: Theme.surfaceVariantText + onClicked: { + PopoutService.closeControlCenter(); + PopoutService.openSettingsWithTab("audio"); + } + } } Row { @@ -161,8 +179,11 @@ Rectangle { Repeater { model: ScriptModel { values: { + const hidden = SessionData.hiddenOutputDeviceNames ?? []; const nodes = Pipewire.nodes.values.filter(node => { - return node.audio && node.isSink && !node.isStream; + if (!node.audio || !node.isSink || node.isStream) + return false; + return !hidden.includes(node.name); }); const pinnedList = audioContent.getPinnedOutputs();