summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/wayland/client
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/wayland/client')
-rw-r--r--raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/wayland/client/helpers.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/wayland/client/helpers.go b/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/wayland/client/helpers.go
new file mode 100644
index 0000000..9075cd3
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/wayland/client/helpers.go
@@ -0,0 +1,26 @@
+package client
+
+import wlclient "github.com/AvengeMedia/DankMaterialShell/core/pkg/go-wayland/wayland/client"
+
+func Roundtrip(display *wlclient.Display, ctx *wlclient.Context) error {
+ callback, err := display.Sync()
+ if err != nil {
+ return err
+ }
+
+ done := make(chan struct{})
+ callback.SetDoneHandler(func(e wlclient.CallbackDoneEvent) {
+ close(done)
+ })
+
+ for {
+ select {
+ case <-done:
+ return nil
+ default:
+ if err := ctx.Dispatch(); err != nil {
+ return err
+ }
+ }
+ }
+}