summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
Diffstat (limited to 'services')
-rw-r--r--services/Apps.qml2
-rw-r--r--services/Audio.qml25
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]
+ }
+}