pragma Singleton import QtQuick import Quickshell import Quickshell.Services.Pipewire Item { id: root PwObjectTracker { objects: [ Pipewire.defaultAudioSink ] } property var audioSink: Pipewire.defaultAudioSink property bool exists: audioSink != null property bool mute: audioSink?.audio?.muted ?? false property real volume: Math.round((audioSink?.audio?.volume ?? 0) * 1000) / 10 property bool volumeChanged: false Connections { target: audioSink?.audio function onVolumeChanged() { root.volumeChanged = true; hideTimer.restart(); } } Timer { id: hideTimer interval: 1000 onTriggered: root.volumeChanged = false } }