zed/script
Roman f62baeda64
gpui: Add Wayland support (#7664)
This PR adds Wayland support to gpui using
[wayland-rs](https://github.com/Smithay/wayland-rs). It is based on
[#7598](https://github.com/zed-industries/zed/pull/7598).

It detects Wayland support at runtime by checking the existence of the
`WAYLAND_DISPLAY` environment variable. If it does not exist or is
empty, the X11 backend will be used. To use the X11 backend in a Wayland
session (for development purposes), you just need to unset
WAYLAND_DISPLAY (`WAYLAND_DISPLAY= cargo run ...`).

At the moment it only creates the window and renders the initial content
provided by `BladeRenderer`, so it can run "Hello world" example.


![image](https://github.com/zed-industries/zed/assets/40907255/1655bc64-4d36-4178-9851-bfe42f03f716)

Todo:
- [x] Add basic Wayland support.
- [x] Add window resizing.
- [x] Add window closing.
- [x] Add window updating.
- [ ] Implement input handling, fractional scaling, and support other
Wayland protocols.
- [ ] Implement all unimplemented todo!(linux).
- [ ] Add window decorations or use custom decorations (like on MacOS).
- [ ] Address other missing functionality.

Release Notes:
- N/A

---------

Co-authored-by: gabydd <gabydinnerdavid@gmail.com>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2024-02-14 14:50:11 -08:00
..
danger Setup Danger (#6994) 2024-01-29 11:58:24 -05:00
eula
lib Deploy collab like nightly (#7174) 2024-02-01 11:54:49 -07:00
licenses Remove obviated comment in zed-licenses.toml (#6946) 2024-01-28 14:07:53 -05:00
update_top_ranking_issues Reinstate requirements.txt 2024-01-28 18:30:47 -05:00
bootstrap Build media and live-kit in test-mode on non-MacOS (#6859) 2024-01-29 18:04:15 -08:00
bump-nightly
bump-zed-minor-versions Remove 0-patch requirement on main in bump-zed-minor-versions 2024-02-14 13:13:44 -05:00
bump-zed-patch-version
bundle Fewer nightlys (#7784) 2024-02-14 11:40:02 -07:00
clear-target-dir-if-larger-than Don't error when checking target dir size if there is no target dir 2024-01-23 17:17:47 -08:00
clippy Actually fail on clippy failures (#7619) 2024-02-09 10:13:00 -08:00
crate-dep-graph
deploy-collab just kidding (#7241) 2024-02-01 11:57:09 -07:00
deploy-postgrest No more nightly/preview collab anymore (#7112) 2024-01-30 20:11:06 -07:00
drop-test-dbs
evaluate_semantic_index
generate-eula-rtf
generate-licenses Load JSON themes (#6893) 2024-01-27 16:03:04 -05:00
get-changes-since
get-crate-version
get-preview-channel-changes
histogram
import-themes
kube-shell
linux gpui: Add Wayland support (#7664) 2024-02-14 14:50:11 -08:00
metal-debug
randomized-test-ci
randomized-test-minimize
reset_db
seed-db
sqlx
squawk (probably) install rosetta if it's not there 2024-01-24 11:35:59 -07:00
storybook
upload-nightly
what-is-deployed Deploy collab like nightly (#7174) 2024-02-01 11:54:49 -07:00
zed-local Don't log errors on main (#7289) 2024-02-02 19:24:49 -07:00