Skip to content

Remove Unmanaged and Deleted classes

Roman Gilg requested to merge romangg/kwinft:unmanaged-rm into windowing

Instead of having separate child classes of Toplevel for Unmanaged and Deleted interpret unmanaged X11 windows as Toplevels without control() and a Deleted as a Toplevel with remnant() being set. For that:

  • Toplevel is not an abstract class anymore.
  • Unmanaged functionality is moved either to Toplevel or to the new win::x11 namespace
  • Deleted functionality is moved to class win::remnant.
  • For now we check on previous Deleted overrides if remnant() is set and then access its data. Long-term it might be possible to further simplify this.

With this change we substantially bring us closer to accomplishing our objective of flattening the windows hierarchy as defined in #75 (closed).

Edited by Roman Gilg

Merge request reports