Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add winit's
wayland-csd-adwaita
feature to Bevy's wayland
feature…
… (#8722) # Objective - Fix Wayland window client side decorations issue on Gnome Wayland, fixes #3301. ## Solution - One simple one line solution: Add winit's `wayland-csd-adwaita` feature to Bevy's `wayland` feature. Copied from bevyengine/bevy#3301 (comment): ### Investigation 1. Gnome forced Wayland apps to implement CSD, whether on their own or using some libraries like Gnome's official solution [libdecor](https://gitlab.freedesktop.org/libdecor/libdecor). Many Linux apps do this with libdecor, like blender, kitty... I think it's not comfortable for Bevy to fix this problem this way. 2. Winit has support for CSD on wayland(https://github.com/rust-windowing/winit/blob/8bb004a1d9ec1b40cbb9831a6dea774d4b6d6d7b/Cargo.toml#L42), but Bevy disabled Winit's default features, thus no winit's `wayland-csd-adwaita` feature. And Bevy's `wayland` feature doesn't include winit's `wayland-csd-adwaita` feature so users can't get window decorations on Wayland even with Bevy's `wayland` feature enabled. 3. Many rust UI toolkit, like iced, doesn't disable winit's `wayland-csd-adwaita` feature. ### Conclusion and one Possible solution Bevy disabled `winit`'s default features in order to decrease package size. But I think it's acceptable to add `winit`'s `wayland-csd-adwaita` feature to Bevy's `wayland` feature gate to fix this issue easily for this only add on crate: sctk-adwaita.
- Loading branch information