Jul 2009

X Visual History Part 3: Desktop Systems and X Desktop Enhanced

In Part 1 of the series we looked at the early X window managers that ran on X display protocol based systems. The scale and range of them was from the very beginning where a user was presented with a menu and windows and little else. In Part 2 of the series we delved into desktop window manager environments, the area in between a full desktop system and a simple window manager; these were window managers which provided things like application bars, icon management of some sort and flexible interfaces to create modules or widgets for the environment but did not include (a lot of...) inherent applications. In the third part of the series we will examine the two main desktops in the X world, a look at the two newer desktop environments that are blurring between application centric/environment centric window managers, some core X technology that can enhance the X experience and finally a look ahead.

Some Definitions

The difference within this series (as YMMV when it comes to definitions) between a Desktop system, Window Manager environment and what I (perhaps not others) would call an enhanced environment is:

Window Manager
Provides the basic functionality of drawing window borders and launching X applications using the X protocol.
Window Manager Environment
Does the same as a Window Manager but also provides its own flavor of widgets and modules available to users and programmers. Not necessarily full blown applications.
Enhanced Window Manager Environments
Does the same as Window Manager environments but provides a set of tools for creating or wrapping applications in addition to the modules and widget sets.
Desktop System
Does the same as all three previously listed but by design provides a set of applications such as browsers, editors, system tools and of course games.

The last one also implies an entire software system, arguably there is a blur between enhanced managers and entire systems. Enlightenment 17 for instance (discussed below) is considered an entire software system where XFCE might be thought of as a bit more contained.

Desktop Systems

For those who dwell in the Unix world you already know what these are (unless you live under a rock) but for those who are new; some of this might be useful. The two primary desktop systems in the Open Source (and X protocol using community in general) are KDE or the K Desktop Environment and GNOME or GNU Network Object Model Environment. Both are very popular and both support a wide range of applications from simple text editors to fun time vampires like solitaire games. Both are in use by a variety of distributions and companies. Both systems have their own library and APIs which have respective development communities. From my own experience, I do not use either of them on my desktop, but I have in various situations and outside of some default behaviors I have noticed little difference. Perhaps the biggest difference might be that GNOME can use different window managers for the actual window manager itself and it does not own a particular window manager like KDE does. With KDE, however, one can also run a different window manager and still have the rest of the K environment. Here are some screens of both:

img

img

img

img

I personally do not prefer either of KDE or GNOME so I cannot objectively or even subjectively provide any real insight to either one. There is a nice never ending flame war on the internet that a few searches will find for those who would like to look at the merits (or demerits) of each in turn. What I can attest to is that having KDE and GNOME is very healthy to the development community and users at large who want a full alternative to the mainstream systems available today.

Newish X Environments

Do note the timestamp in the upper right hand corner for in a year this may no longer be accurate ... the two big X Window Manager environments available today are Enlightenment 17 and XFCE 4. What makes both of these environments enhanced is that they come stacked with backing libraries, widgets and modules but of themselves do not set out to provide an application suite. Instead they provide the mechanisms for others to do so; although this is a purely semantics issue for users from the development and tracking point of view it is important to note. The implication is that projects such as e17 and xfce concentrate on the core rendering and management technology while leaving applications to be supported by other developers.

img

img

img

img

Other X Software

Outside of actual window managers themselves the entire X suite has a lot of interesting technology available. Probably among the most interesting of this is the compiz and derivatives capabilities that users with a lot of video and/or CPU and/or memory power like to use. The compiz technology allows support in any environment for things such as (but in no way limited to):

  • 3D Desktops
  • Transparency
  • Multiheaded Displays
  • Remote X Manipulation
  • ...

Here are a few screenshots:

img

img

img

img

Summary Whats Coming?

The world of X development is moving fast. Systems like e17 are being ported to everything from phones to mobile devices. In the meantime in the X.org development realm massive streamlining of rendering and memory allocation (now that more vendors are opening up ABIs) is making X in of itself more portable, faster and better at speeds both mind boggling and virtually neck-breaking; which is good. There have been so many improvements even in the last year such as better direct rendering, being able to leverage more (if not all) capabilities of specific cards, close to 100 percent autoconfigration (a huge plus) and agile decisions about which particular path to take it would seem that only good things are waiting on the horizon for all X users.

A Peek at Some Neat Stuff

Here are a few photos of X and Xlike softwares running in some cool places:

e17 on small devices, a dev shot and phones

img

img

img

prev