Introduce an AbstractClient base class for Client (and ShellClient)
The idea for this base class is to provide access to all elements which make up a managed "Client" being it X11 or Wayland. They share a lot, like they have a caption, they can be minimized, etc. etc. Of course it would have also been possible to derive a new class from Client, but that looks like the more difficult task as Client is very X11 specific. So far only a very small interface is extracted with pure-virtual methods. This is going to change by moving the functionality up into the AbstractClient. The interface extracted so far is inspired by the usage of FocusChain and users of FocusChain.
Showing with 134 additions and 19 deletions