diff options
Diffstat (limited to 'services')
| -rw-r--r-- | services/Apps.qml | 2 | ||||
| -rw-r--r-- | services/Audio.qml | 25 |
2 files changed, 25 insertions, 2 deletions
diff --git a/services/Apps.qml b/services/Apps.qml index 453030d..f964be2 100644 --- a/services/Apps.qml +++ b/services/Apps.qml @@ -1,8 +1,6 @@ pragma Singleton import "root:/utils/scripts/fuzzysort.js" as Fuzzy -import "root:/widgets" -import "root:/config" import Quickshell import Quickshell.Io diff --git a/services/Audio.qml b/services/Audio.qml new file mode 100644 index 0000000..c91adbc --- /dev/null +++ b/services/Audio.qml @@ -0,0 +1,25 @@ +pragma Singleton + +import Quickshell +import Quickshell.Services.Pipewire + +Singleton { + id: root + + readonly property PwNode sink: Pipewire.defaultAudioSink + readonly property PwNode source: Pipewire.defaultAudioSource + + readonly property bool muted: sink?.audio?.muted ?? false + readonly property real volume: sink?.audio?.volume ?? 0 + + function setVolume(volume: real): void { + if (sink?.ready && sink?.audio) { + sink.audio.muted = false; + sink.audio.volume = volume; + } + } + + PwObjectTracker { + objects: [Pipewire.defaultAudioSink, Pipewire.defaultAudioSource] + } +} |