[KLUG Members] Re: Xwindows sawfish Gnome whats the scoop -- X, widget sets, window managers and frameworks

Bryan J. Smith members@kalamazoolinux.org
Mon, 28 Jan 2002 13:35:56 -0500


bkatsma@attbi.com wrote:
> Could someone explain to me what Xwindows, sawfish,
> Gnome is.  I do not completly understand the structure
> of these.
> I think this is what I understand:
> *Xwindows is what does windows portion of things

X-WINDOWS LIBRARIES AND SERVER

X-Windows provides a basic set of run-time and development libraries
as well as the X-Server that drives the display interfaces. 
X-Windows is network enabled, which allows remote display of
programs on a system.  I.e. you don't even need an X-Server running
on the system where the program is to be run, you can "pump the
display" over the network to another system running an X-Server.

All programs are 100% _user_space_ meaning they don't run in the
kernel and they are fully "pre-emptible".  I.e. they can crash and
the system will stay up.  Furthermore, if you use the xdm (X Display
Manager) to provide a user-login on boot, it will automatically
"respawn" on a crash.  The "trade off" for this stability is a
performance hit versus OSes that put the graphics subsystem in
kernel-space (e.g., Windows, even NT (4.0+), 2000 and XP).

The implementation of X-Windows we run on Linux is XFree86 (the "86"
is for the Intel x86, but it has been exteded to run on other
platforms as well).

WIDGET SETS AND WINDOW MANAGERS

> *Then Sawfish manages everything gives it the look and
> feel

An X-Server by itself doesn't do much.  So you usually want to run a
program called the "window manager" (WM) to manage the windows and
mouse interaction.  Both programs and the WM are developed with a
library of "widget sets" or basic graphical components.

The base X-Windows includes a "widget set" (Athena) and "window
manager" (twm) based on it.

Sawfish is a window manager (WM) that uses the GTK+ (The GIMP
Toolkit Plus) widget set.  Other popular WMs based on GTK+ are
Enlightenment and Window Maker.

The popular WM in the commercial UNIX world is Motif and the Motif
WM.  Before that, Sun used to produce the OpenLook widget set and WM
for its popular SunOS/Solaris platform.

The K WM uses the Troll Tech Qt widget set.

> *Gnome well I thought that also is what gives the look
> and feel

Gnome is a desktop framework based on GTK+.  You can use it with a
number of "Gnome compliant" WMs like Sawfish, Enlightenment and/or
Window Maker -- which are usually GTK+ based.

In the commercial UNIX world, the Common Desktop Environment (CDE)
is a lightweight framework.  It uses Motif.  Several vendors are now
dropping CDE in favor of Gnome 2.0 when it ships (slated for the end
of March).

KDE (a play off of the CDE acronym) is a desktop framework based on
Qt.  KDE has a few "KDE-compliant" WMs, includes non-Qt based ones
(like Enlightenment), but prefers Qt-based ones.

XFCE is a popular lightweight framework based on GTK+ that looks
like CDE.  But it can load Gnome components, so it works like a
"Gnome compliant" WM.

Most "desktop frameworks" exist for application support.  Gnome and
KDE being the two most popular.  Running a framework is not a
requirement though, and just running a WM is enough.  And Gnome/KDE
are designed so they can co-exist, or load dynamically as needed
when just running a WM.

Basic software can be written to just use a widget set.  More
complex software, or software that wants to interact (e.g., COM,
CORBA, etc...) with other programs is usually written for a "desktop
framework."  While KDE and Gnome can co-exist, their programs
usually don't integrate with each other at this time -- although
that is changing slowly (e.g., KMozilla allows use of Mozilla which
is usually built on GTK+/Gnome).

There are various other "support libraries" for X-Windows.  One of
the most important is GLX (OpenGL on X-Windows).  GLX allows for
remote display of 3D, as well as a tie-in to hardware acceleration
for 3D.  OpenGL itself is a full, cross-platform 3D API.

> I am just confussed and I was hoping someone could shed
> some light on this.

See Slide #9 in this presentation I did:
http://www.leap-cf.org/presentations/linuxapps/linuxapps_lite.pdf

Also see Slide #6 on the "1000' Technical View of Linux," which
shows the strict separation of kernel and user space (for maximum
reliability).

[ That version of the presentation (~120KB in size) doesn't have
screenshots since those two slides didn't need them.  If you would
like the full presentation with screenshots (~3700KB!), you can grab
it here:
http://www.leap-cf.org/presentations/linuxapps/linuxapps.pdf
]

-- Bryan

-- 
Bryan J. Smith, Engineer        mailto:b.j.smith@ieee.org   
AbsoluteValue Systems, Inc.     http://www.linux-wlan.org
SmithConcepts, Inc.          http://www.SmithConcepts.com
---------------------------------------------------------
1999 IRS Data:  The top 1% of income earners pay over 36%
of the taxes, but have less than 20% of the total income.