From ec70f24581f2782a51bd2f0135b59a2dc13f02b1 Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Fri, 24 Apr 2026 01:41:27 -0700 Subject: [PATCH] qs: fullscreen mute icon --- .../shell/bar/audio/AudioControls.qml | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/modules/user/modules/quickshell/shell/bar/audio/AudioControls.qml b/modules/user/modules/quickshell/shell/bar/audio/AudioControls.qml index f3fd830..6390997 100644 --- a/modules/user/modules/quickshell/shell/bar/audio/AudioControls.qml +++ b/modules/user/modules/quickshell/shell/bar/audio/AudioControls.qml @@ -1,6 +1,8 @@ import QtQuick import QtQuick.Layouts import Quickshell +import Quickshell.Widgets +import Quickshell.Wayland import Quickshell.Io import Quickshell.Services.Pipewire import qs.bar @@ -42,6 +44,41 @@ BarWidgetInner { } } + Variants { + model: { + if (!Pipewire.defaultAudioSource.audio?.muted) return []; + return [...new Set(ToplevelManager.toplevels.values.filter(t => t.fullscreen).map(t => t.screens[0]))]; + } + + PanelWindow { + required property ShellScreen modelData; + screen: modelData + + anchors.left: true + anchors.bottom: true + margins.left: 100 + margins.bottom: 100 + exclusionMode: ExclusionMode.Ignore + WlrLayershell.layer: WlrLayer.Overlay + mask: Region {} + color: "transparent" + implicitWidth: 64 + implicitHeight: 64 + + Rectangle { + anchors.fill: parent + color: "#40000000" + radius: 15 + + IconImage { + source: Quickshell.iconPath("microphone-sensitivity-muted-symbolic") + anchors.fill: parent + opacity: 0.3 + } + } + } + } + IpcHandler { target: "audio"