# gpui: Implement support for wlr layer shell \(\#32651\) · gitcafe/zed

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

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

Visibility: public

Requested revision: c110f7801516a1948ade4a51213f1fc8ea7f8efc

Requested commit: c110f7801516a1948ade4a51213f1fc8ea7f8efc

Commit: c110f7801516a1948ade4a51213f1fc8ea7f8efc

Tree: 84b017a333ece128d7bf9d08ccc823dea820ac53

Author: Ridan Vandenbergh

Committer: GitHub

## Message

```
gpui: Implement support for wlr layer shell (#32651)

I was interested in potentially using gpui for a hobby project, but
needed [layer
shell](https://wayland.app/protocols/wlr-layer-shell-unstable-v1)
support for it. Turns out gpui's (excellent!) architecture made that
super easy to implement, so I went ahead and did it.

Layer shell is a window role used for notification windows, lock
screens, docks, backgrounds, etc. Supporting it in gpui opens the door
to implementing applications like that using the framework.

If this turns out interesting enough to merge - I'm also happy to
provide a follow-up PR (when I have the time to) to implement some of
the desirable window options for layer shell surfaces, such as:
- namespace (currently always `""`)
- keyboard interactivity (currently always `OnDemand`, which mimics
normal keyboard interactivity)
- anchor, exclusive zone, margins
- popups

Release Notes:

- Added support for wayland layer shell surfaces in gpui

---------

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
```

## Parents

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

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