summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/dms/Services/MultimediaService.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-hyprland-theme/theme-data/dms/Services/MultimediaService.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/dms/Services/MultimediaService.qml35
1 files changed, 35 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/dms/Services/MultimediaService.qml b/raveos-hyprland-theme/theme-data/dms/Services/MultimediaService.qml
new file mode 100644
index 0000000..f570c72
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/dms/Services/MultimediaService.qml
@@ -0,0 +1,35 @@
+pragma Singleton
+pragma ComponentBehavior: Bound
+
+import QtQuick
+import Quickshell
+
+Singleton {
+ id: root
+
+ property bool available: false
+
+ function detectAvailability() {
+ try {
+ const testObj = Qt.createQmlObject(`
+ import QtQuick
+ import QtMultimedia
+ Item {}
+ `, root, "MultimediaService.TestComponent");
+ if (testObj) {
+ testObj.destroy();
+ }
+ available = true;
+ return true;
+ } catch (e) {
+ available = false;
+ return false;
+ }
+ }
+
+ Component.onCompleted: {
+ if (!detectAvailability()) {
+ console.warn("MultimediaService: QtMultimedia not available");
+ }
+ }
+}