# gpui_linux: Consume Wayland startup activation token \(\#59995\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/7c3160b7bfd7c76be9d00ad6edd6a3d4061eea76)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 7c3160b7bfd7c76be9d00ad6edd6a3d4061eea76

Requested commit: 7c3160b7bfd7c76be9d00ad6edd6a3d4061eea76

Commit: 7c3160b7bfd7c76be9d00ad6edd6a3d4061eea76

Tree: 7927435be4ec8fb10c1d835a487591a78c0e75be

Author: Anthony Eid

Committer: GitHub

## Message

```
gpui_linux: Consume Wayland startup activation token (#59995)

When opening Zed from GNOME on Wayland, the cursor can stay stuck in the
launch spinner state for several seconds because GPUI never tells the
compositor that the launched app's first window has loaded. Desktop
launchers pass this information through `XDG_ACTIVATION_TOKEN`, which
Wayland clients are expected to consume once their first toplevel
surface is ready.

This PR fixes that by reading and removing `XDG_ACTIVATION_TOKEN` during
Wayland client startup, storing it on the client state, and consuming it
on the first XDG toplevel surface via the existing
`xdg_activation_v1.activate(token, surface)` plumbing. Anthony manually
verified this on GNOME Wayland.


docs ref: https://wayland.app/protocols/xdg-activation-v1

Release Notes:

- Fixed Linux Wayland cursor being stuck as a spinner for a couple of
seconds.
```

## Parents

- [0a7c84bc37a995f94925bfb51773dbafd0e28805](https://git.cafe/gitcafe/zed/commit/0a7c84bc37a995f94925bfb51773dbafd0e28805?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/7c3160b7bfd7c76be9d00ad6edd6a3d4061eea76?format=markdown)
