[Techtalk] Window managers and desktops

Akkana akkana at shallowsky.com
Fri Jun 21 10:31:01 EST 2002


Ooh, interesting thread!

BUNTER MATTHEW writes:
> So, can the stuff mentioned above be run with just Window Maker? Since I'm
> running Gnome I'll need directions to an idiots guide to changing the
> desktop if someone could point me in the right direction.

Here's my own stab at definitions:

The X server is the layer that handles requests to draw something on the
screen, handles the mouse and other hardware.  To run one program that
puts up a window and takes input from mouse and keyboard, X is all you
really need.

The window manager is the layer that lets you control size and layering
and focus of windows on the screen.  If you're going to have lots of
windows showing at once, and you want to switch between them or move
them around or minimize/maximize them (and just about everyone does),
you'll want to run a window manager in addition to X.  Window managers
almost always have names ending in "wm", sawfish being an exception.

The "windowing environment" or "desktop" like gnome or kde is another
layer yet.  To be honest, I'm still fuzzy on what services it provides;
sometimes there are daemons doing things like watching for a CD or
floppy insertion so it can mount the new disc and pop up a filemanager
window; sometimes there are clipboard-handling daemons like KDE's
klipper. Dave mentions help systems, and that's another service they
offer.  I'm not sure what else they do.

A while ago, I tried to understand the "desktop" layer, and when I found
I couldn't come up with the list of services it did that I needed, I
decided it was silly to wait minutes for it to start up when all I was
really using was the window manager.  Most gnome-compatible window
managers will run by themselves without the gnome layer (not sure about
KDE); I tried a bunch of window managers and ended up with icewm (it's
not perfect, but it's okay and it starts up really fast).  I think I
actually like sawfish better but getting sawfish to run without gnome
is complicated (I think it involves uninstalling gnome-sawfish and
installing a different non-gnome version) and I never quite managed it.

Dave North writes:
> 	In the frills category, we have the inevitable "panel" (same
> launcher thang in both "systems") and a clock, plus other applets ... and

This is complicated too, because a lot of window managers (certainly
sawfish and icewm) show their own panel if the gnome panel isn't there.
Their panels look pretty much the same as the gnome panel, so just
seeing a panel doesn't tell you where it's coming from.

> 	They also add interoperability functions, most notably the ability
> to "drag and drop" stuff from one app to another. The list goes on, but I

You should be able to do that without a desktop, but the desktop
clipboard services sometimes let you move bigger chunks, or handle
more formats (e.g. html and richtext and images as well as just text)
since X unfortunately doesn't have a standard way of putting html on
the clipboard (html wasn't even a gleam in anyone's eye when the X
clipboard API was written).

> 	Are there any other 'desktop systems' beyond KDE or Gnome?

Sun CDE, HP Vue.  I don't think SGI had an equivalent -- they managed
to put all the functionality in the window manager (and 4Dwm was a
very good window manager).

caitlynmaire at earthlink.net writes:
> KDE and Gnome do that WindowMaker, to use your example, doesn't do, is
> provide additional libraries for their integrated applications and
> applets.  So long as those libraries are in place you can use their
> apps.  Without them, you can't.
> 
> An example of this would be gnumeric, the spreadsheet.  Try installing
> it on a system without Gnome using rpm.  You will find that there are a
> bunch of things missing that are required to make it run, but all of
> Gnome is not required.  

Also note that it wants the libraries *installed*, but that doesn't mean
you have to be running the desktop.  I always install both gnome and kde
if disk space permits, because they each include lots of excellent apps.
Most apps written for a desktop will run fine under any window manager.
Sometimes they complain a little or start up whatever service they think
they need (for instance, I use kcalc because it's the only calculator I
know of that does oct/hex/dec conversions, and when I start it under
icewm it first starts "DCOPServer", whatever that is).

> The choice of defaut window manager (or desktop system) is made in
> /etc/X11/xinit/Xclients on a Red Hat system and in many other distros as
[lots of good info on how to change the defaults]

If you just want to experiment with different window managers, then
create an executable file in your home directory called .Xclients
(on redhat) or .xinitrc (on most other distros), and put one line in
it containing the window manager you want to try, e.g.

icewm

Then when you run startx, this should override the system defaults.
You may also want to run some initial apps here; if so, put them before
the window manager specification with ampersands after them, for example,

rxvt -geometry 80x66+0+0 &
rxvt -geometry 80x51-0+0 &
icewm

will give you two rxvt shell windows and then will run icewm.
(The reason this works: xinit looks for this file in your homedir, and
if it finds it, then it starts X, then runs the file, then kills the
X server and exits.  If you don't put the ampersands after the commands
so they'll run in the background, then xinit will run one rxvt, then
wait 'til it exits, then run the next one, wait 'til it exits, then run
the window manager.  With the ampersands, it runs an rxvt in the
background, then another rxvt in the background, then starts up icewm
and keeps the X server running until icewm exits.

Sorry, didn't mean to write a novel, but I find this stuff interesting. :-)

	...Akkana



More information about the Techtalk mailing list