diff options
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.go | 26 |
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 + } + } + } +} |