The X Window system was originally designed to run exactly three programs: xterm
, and xload
. Originally these were meant to be started in the .xinitrc
file, using manually set location
settings. Any additional instance
s of those programs were to be started also using manually-set location and geometry via your xterm
As an afterthought, the developers thought they'd throw in a window manager to let people move things around. They produced the Tab Window Manager, twm. It's still included with the base X distribution on any Unix machine. Try running it sometime, it's pretty sad.
The reason X sucks so much at being a GUI is because it was not actually designed to do anything but run a few minor graphical hacks that were hardly better than ASCII graphics (read: xload, xmh), and to allow people to run two terminals side by side. It doesn't support innate drag and drop. It doesn't have any OS-level human interface conventions. It doesn't even have an active desktop without the aid of programs which run cheap hacks to give it one.
This is why X-Windows is so user-hostile compared to MacOS...and even Microsoft Windows. Funny that I should have such opinions, when my own nick is a play on the naming convention of X applications...
The following can be found in the default xinitrc file (/usr/X11R6/xinit/xinitrc), dated August 22nd, 1991... (note: this is still included in current distribution of XFree86 3.x)
# start some nice programs
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
Try creating a new user account. Log in with that, and rm -f ~/.xinitrc. Then, startx. AND WITNESS THE SUCK.
Regarding msgs about how X11 is a network model and not a GUI
: I'm not talking about the semantic details of how it works. For all practical purposes, anything running under X11
has the same technical limitations. The modularity
of it is, really, what does it in. It already
runs in greater penalty of the CPU
than it ought to; piling Gnome
on top of that is just plain ludicrous
. The only "user friendly" elements must be written by 3rd party developers, and this causes these basic UI
functions to be nonstandard and higher-level
than they are with any other GUI model
. So, if it pleases pedants
, I'm not putting down the protocol
itself, I'm putting down the legacy
that it has wrought.