Skip to content

wayland: Port DebugConsole away from SubSurfaceMonitor

SubSurfaceMonitor was created with a goal to avoid re-computing the window geometry when the sub-surface tree changes. However, over the time, its usage spreaded beyond XdgSurfaceClient.

At one point, the scene was using the SubSurfaceMonitor helper and it showed that it is not a good abstraction. In case of the scene, letting surface items monitor sub-surface tree changes is a much better idea. Unfortunately, the SubSurfaceMonitor helper only hides unfortunate design decisions.

Since the effective window geometry should not change dynamically [1], we don't need to monitor sub-surface trees in XdgSurfaceClient.

Given that, as the first step towards removal of the SubSurfaceMonitor class, this change makes the debug console monitor sub-surface trees manually.

[1] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/54

Merge request reports