diff options
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/blur')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/blur/probe.go | 35 |
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 +} |