<21.01.24.19.02> my wayland compositor, update #2

SO finally I managed to get some time to sink into this.

Things have moved on in this project. A few basic actions have been implemented, such as:
- focussing to a window in a given direction
   - panning the screen if that window is offscreen somewhat
- dealing with any VT switching. This was not that straight forward when it
  came to the keybindings: The emitted keysym can be `XKB_KEY_XF86Switch_VT_X` if the mod key is `alt`, otherwise I have to manually create bindings a
  binding using mod+shift+FX. Whatever, it's done.
- panning the workspace with keys, by a given percentage of the screen
- managing xdg_surface states, namely tiled/fullscreen/normal etc. wlroots'
  interface for this is super nice compared to XCB.
- live config reloading. This wasn't in my initial plan for it was basically
  for-free as a result of how I implemented it.

Also, borders. It seems there are currently two window decoration protocols
exposed by wlroots: wlr_xdg_decoration and wlr_server_decoration. As far as I
can tell, the latter is deprecated in favour of the former, but there are
prominent toolkits that use both, so I had to implement both. Largely taking
pointers from sway, this was a relatively simple job fortunately. Indeed, it
may be possible to have some kind fo plugin system or protocol for configuring
custom window decorations, which would be awesome to have.

I also rebranded it finally to something not deskwm, which I didn't like. I
changed it something I kinda like: WIMP. This was a somewhat meh decision but
it was chosen because GIMP was what inspired the unique design of this
compositor: the zooming UI and panning with bounds beyond the typical display
dimensions. So it's now WIMP: WIndows Manipulation Program. (I also like that
some people may read the W is meaning Wayland, but it ain't).

Another change: I moved it primarily to GitHub, and hesitantly so. I wanted to
use issues rather than lines in my readme file to list my to do list and issues
I find, which is much more flexible. And who knows, maybe someone will come
along and contribute or something.

Anyway, this is a nice point because it's _almost_ usable. It _is_ usable with
the major omission of multiple output management.

██      ██  ██  ████████    ██████
██  ██  ██      ██  ██  ██  ██    ██
██  ██  ██  ██  ██  ██  ██  ██    ██
██  ██  ██  ██  ██  ██  ██  ██████
  ████████  ██  ██      ██  ██
            ██              ██
            ██


[Sun Jan 24 20:02:32 2021] -- powered by smtpd(1)