Thank you.
Thank you.
Regarding modularization, I tend to prefer Fowler's criterium that a component should contain code which is usually changed together. So, if you have one component where 95% change slowly and 5% change often, you should split it. However, if you have two components that you almost always have to change at the same time, you should merge them.
95% of the work is done in the core module. The main module is merely for the executable and rarely changes.
I've split it up because the xlib (and future wayland) modules need to refer to the core as a library, so the main module has nothing to do there.
Though I admit that part of the reason is earlier attempts with dynamic libraries, but that was more hassle than it needed to be.
I could merge the core back into the main module, but I'll wait a bit until I do that, just to be sure.
Wow, nice to see a tiling window manager working on that.