Re: Basics not in the FAQ



Jason Whittle wrote:
> 
> I've looked for the answer to this, and only found hints, so please don't
> flame me. I'm not clear on the specific relationships between X, GNOME,
> and WMs. The default for RH5.1 seems to be fvwm running directly over
> XFree86. Am I missing something (i.e. Is there a GNOME equivalent that is
> acting transparently on my distribution?) or does GNOME provide
> functionality beyond what a WM can offer? Is GNOME also a WM, or does it
> require a separate WM on top? Where does X stop and GNOME begin? The goals
> of GNOME and Enlightenment seem to overlap to a good extent; is this
> intentional or even desirable?

The other posts in this thread are good, but the way I like to look at
this issue is from a limitations standpoint:

1. X knows about video display: colors, drawing lines, boxes, text,
etc.  It's a way to draw things on a computer's screen, either locally
or over a network.  X also knows about input devices: keyboards, mice
and such.  X further handles basics like cut and paste and simple drag
and drop.

2. A window manager (strictly defined) only knows about windows.  The
window manager handles drawing the title bar and border around the
windows on the screen, letting you move them around, resize them, change
their stacking order and change the input focus among them.  

If the application doesn't tell the window manager otherwise, the window
manager decides where a new window appears and how large it is.  (Most X
windows choose a size for themselves, but not a screen location.)  

The main limitation of a typical window manager is that it does not
mediate interactions between the X applications, other than window focus
issues.

A good way to illustrate the window manager's role on your desktop is to
open an xterm and kill the window manager.  When you're finished playing
with the result, use the xterm to start the window manager back up.  Or
for real entertainment value, start a _different_ window manager back
up.

3. A desktop environment (which may be hosted by a window manager, like
Window Maker or E beyond DR 0.15, or may be separate like GNOME or KDE)
spans the limitation gorge between X and the window manager.  It usually
takes control over the root window (displays the background image and
icons), offers a standard file manager, offers an application launcher
of some sort, etc.  

But most importantly, a desktop environment defines a set of standards
for applications to follow.  Compliant GNOME apps use the GTK+ widget
set and the enhanced widgets in libgnome (menus, canned dialog boxes,
etc.), and interact with the file manager, desktop and panel, where
appropriate.  When bonobo gets thorougly field tested, GNOME compliance
will imply embeddability, where appropriate.

Contrast this with, say, Windows: it provides the display and input
capabilities, the window drawing and focus management, the desktop
handling, the file manager, the launcher and the interaction protocols,
all in a big monolithic whole.  Monoliths are rare in the Unix/Linux
world.  (No flames, please.)
-- 
= Warren Young: www.cyberport.com/~tangent |   Yesterday it worked.
= ICBM Address: 36.8274040N, 108.0204086W, | Today it is not working.
=               alt. 1714m                 |   Windows is like that.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]