This used to be more commits, but was squashed down
Port the compositor module
Use new compositor module inside of Seat module
Shm module ported
Reenable EGL in backend module.
Minimal winit example
Use Rc for Display in examples
Add GlobalId getters
Cleanup SHM
Remove unused imports in shm
Horrific solution for buffer release inside of comp
Fix display
deadlock
Bring alive checking to comp module
Remove unused
Partial XDG Shell impl
Simple XDG + SHM
XDG Positioner and Popup
Split XDG to modules
Explicit User Data init
TEMP: Comment out desktop related calls
Temporary build fix
Update dbus
Update wayland-rs
Make clippy happy
make keyboard::is_focused into a todo
For DisplayHandle: s/cx/dh/
More specifically, this introduces a way to query the available EGL devices on a system, `EGLDevices::enumerate`.
Also this introduces a way to get the `EGLDevice` used by an `EGLDisplay`, `EGLDevice::device_for_display`
Co-authored-by: Drakulix <github@drakulix.de>
This is very much incomplete, but it implements the import and export of surfaces. However functions related to setting and imported surface the parent of another surface is not done.
importer destructor destroys all imports made from the same client
Implement SetParentOf, no undoing yet
Add inner import type
Destroy child surface relationships when importing
A note
move init function upwards
use 0.29.0 crate
Move role string constants into the public
Use toplevel_like for surface checks in foreign
add methods to get the parent surface
Make sure ZXDG roles are public api
Consistent ordering of parameters on xdg_foreign impl methods
Let's update the changelog
Document how to use xdg_foreign
wl_shell_surface is likely invalid, so it cannot be imported or exported
Changelog suggestions
remove redundant inner ref cell
Remove all uses of the refcell like behavior
Allow compositor to export surfaces on server
Appease new clippy lints
then
Use string references and iterate in reverse to simplify removals
heed request for order
This changes the state handling logic of wl_surface to automatically
track subsurface pending in the form of transactions. The role enum
(and the associated type parameter) is no more, and replaced by a
general-purpose typemap-like container on surfaces.
The new logic is introduced in the files:
- `src/wayland/compositor/cache.rs`
- `src/wayland/compositor/transaction.rs`
The rest of the PR is the fallout of these changes, as well as a few
trivial clippy fixes.