Skip to content

backends/wayland: Use software cursor when pointer is locked

Vlad Zahorodnii requested to merge work/zzag/wayland-backend-cursor-tidying into master

Currently, if the pointer is locked, the wayland backend will create a subsurface. However, when the cursor moves to one of the screen edges, it looks weird because the xdg window geometry is computed as bounding geometry of the main surface and its subsurfaces. However, even after calling xdg_surface.set_window_geometry, it still looks weird because subsurfaces are stacked above window decoration.

With the proposed change, when the pointer is locked, the wayland backend will hide the host compositor and use the software cursor. If the pointer is unlocked, it will go back to using host cursor.

Long term goal is to make every output have its own cursor to make output layer logic simpler.


Draft: there are other changes, when they land, I need to resolve merge conflicts

Merge request reports