summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/blur/probe.go
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/blur/probe.go')
-rw-r--r--raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/blur/probe.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/blur/probe.go b/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/blur/probe.go
new file mode 100644
index 0000000..e9c24b8
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/blur/probe.go
@@ -0,0 +1,35 @@
+package blur
+
+import (
+ wlhelpers "github.com/AvengeMedia/DankMaterialShell/core/internal/wayland/client"
+ client "github.com/AvengeMedia/DankMaterialShell/core/pkg/go-wayland/wayland/client"
+)
+
+const extBackgroundEffectInterface = "ext_background_effect_manager_v1"
+
+func ProbeSupport() (bool, error) {
+ display, err := client.Connect("")
+ if err != nil {
+ return false, err
+ }
+ defer display.Context().Close()
+
+ registry, err := display.GetRegistry()
+ if err != nil {
+ return false, err
+ }
+
+ found := false
+ registry.SetGlobalHandler(func(e client.RegistryGlobalEvent) {
+ switch e.Interface {
+ case extBackgroundEffectInterface:
+ found = true
+ }
+ })
+
+ if err := wlhelpers.Roundtrip(display, display.Context()); err != nil {
+ return false, err
+ }
+
+ return found, nil
+}