▲ 33 points
back
5 comments
Replacing Xlib with XCB is like replacing the hanging noose with lethal injection. Yes, it's probably more humane[1], but the result is still death.
[1] regardless that the death penalty in anything but. But for some reason, the X Windows System always makes me think of capital punishment.
Rather than finding a prettier band aid, I would follow Ubuntu's lead and just drop the X protocol all together. Neither Windows nor Mac OSX use X and both of those managed to make really nice looking systems that have a relatively clean direct API. And they can easily handle the desktop running on a different machine than the OS.
What do you mean "easily handle the desktop running on a different machine than the OS?" The Windows and OSX driver model seems pretty tied to a specific machine, both require 'remote desktop' software which merely simulates sitting in front of the real machine. One of X's chief goals was that an X client (the actual program, the terminology seems backward) can communicate to any one of multiple connected servers. Since these servers are connected via a network they can come and go as they please while the Windows/OSX model has one static desktop shared by all.
Software could be written to do the same thing for OSX or Windows if there were enough interest. The fact is that the use case for what X offers nearly never comes up (relatively speaking). No competent software developer would base his whole system around a use case that 99% of all users will never use once in their life.
A few of the more modern window managers use XCB internally (awesomeWM touts this on its front page). It's always exciting to see new X development (including replacing X altogether :) ) -- there are a lot of interesting things that have yet to be done.