Overhaul X11 window types
X11 windows are represented by two classes -
Unmanaged. One represents managed windows and the other represents override-redirect windows.
On one hand, the split makes sense, but on the other hand, such fragmentation is undesired. For example, when associating X11 windows with wl_surface; or creating platform specific items.
As an undesired sideeffect, the
Window class is used to share code between
In principle, override redirect windows can be represented by
X11Window. The main difference between OR and managed windows from kwin's perspective is that some operations are forbidden for OR windows.
I think that it's worth overhauling X11 window types:
- move X11-specific code from
- unify X11 apis in
Workspace::unmanagedList(), and so on