Designing/Programming a Window Manager
Recently I started learning what makes Linux work, meaning the core of the whole system. One of the most complex things to understand was the X Window System, or X11 (because the current version is Version 11). In case you don't know, X11 is the part of Linux that actually makes everything graphical and runs windowed programs, and not run programs through a command line interface.
You might think that this would be a very simple part of the system, but believe me, it's not. The kernel and X11 might just be the most complicated structures.
A Linux system does not require having X11 installed, but if you're going to use graphical programs, like web browsers and word processors, then you're probably going to want to.
There are so many different window managers, that I could not possibly list them all without missing at least fifty, but some of the major ones are GNOME, KDE, and Xfce. There are also several others small ones, called minimalists, like Blackbox, but the best way to learn about something is to actually create it, and when it came to creating my own minimalist window manager, I had very little information on how to. Finally, after hours of research, I now share my findings with you.