Damage

In order to do its compositing, the compositing manager needs to
know which areas of the off-screen windows have changed. This is the
job of another new feature, the damage
extension. It allows any application to listen for changes in
windows.

As a taster of the sort of effects that the damage extension will
make available, the uncover utility shows the user an
overview of all windows in the system in relation to each other, but
scaled so that none of them overlap.

Figure 4. Uncover (top left) shows a non-overlapping window
overview

Another utility, skippy, implements something similar to
the Exposé window-choosing facility from Mac OS X. Via the damage
extension it keeps the contents of all the windows up to date even
while minimized.

Figure 5. When the user hits F11, skippy presents a
live overview of windows

Other Improvements

As well as the glitzy new features, there's a lot of work
underway in other parts of the X Window System. One initiative that will
have a positive knock-on effect is the splitting up of the
monolithic source code tree of X into parts that can be built
independently. Currently, despite the fact that large amounts of
the source code is static, everything must be rebuilt and released
in a synchronized way. This modularization, happening in the Debrix project, will pave
the way for more flexible development and release of X.Org.

Another important project is the "kdrive" X server. Kdrive is
intended to be a small footprint; a simpler X server for use in
proofs of concept or embedded systems. It provides another way for
developers to quickly try out new ideas. It's quite easy to check out Kdrive from the freedesktop.org repository and give it a try
yourself. See the links in the Resources section at the end of this article for
instructions.

From being a foreboding and scary kind of project, the X Window
System is turning into a more accessible project that appeals to
developers wanting to help out and experiment. This can only have a
positive long-term impact on the Linux desktop.

Kick the OS X Habit

The time of liberation is near. The current estimate of X.Org
developers is that these new features will get into Linux
distributions in six months or so. No longer will Linux desktop
users cringe when they can't do the same fun floaty effects their
Mac-owning colleagues can!

More seriously, the improvement in X technology should
further unlock creativity and usability on the Linux desktop.
Watch this space.

Resources

X.Org is the home of the X.Org X
distribution, adopted by most Linux distributions.

freedesktop.org hosts a
loose collection of projects aimed at the Linux desktop,
including the experimental X
server.

The papers from Jim
Gettys and Keith
Packard for the 2004 Linux Symposium go into great detail on
the future plans for the X.Org system.

If you want to play with the new features yourself, you can
check out and build a Kdrive-based server using these
instructions.

The skippy
window chooser works both with and without the new damage
extension, and provides a full-screen view on your windows.

Acknowledgements

Thanks to Daniel Stone for answering various questions about
how the new X server works.