server: add wl_global_remove

This commit adds a new wl_global_remove function that just sends a global
remove event without destroying it. See [1] for details.

Removing a global is racy, because clients have no way to acknowledge they
received the removal event.

It's possible to mitigate the issue by sending the removal event, waiting a
little and then destructing the global for real. The "wait a little" part is
compositor policy.

[1]: wayland/wayland#10

Signed-off-by: Simon Ser <>
1 job for global-unregister in 1 minute and 41 seconds (queued for 12 seconds)
Status Job ID Name Coverage
passed #587533