36 lines
712 B
QML
36 lines
712 B
QML
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: 2000
|
|
onTriggered: root.volumeChanged = false
|
|
}
|
|
} |