Needs educating: Message from Linux (fwd)
Jason
unleet at qwest.net
Tue Jan 22 13:09:45 EST 2002
Actually, being familiar with X myself, I'll answer this one.
Xwindows, is a misnomer, in reality, it's just an X server, and clients. The
server draws to the screen, and sends user input to the clients. The clients
are the applications, the clients are usually on the same machine as the
server, but they don't have to be.
X itself is nothing more than a network protocol for sending graphic data to
an X workstation, the X protocol has no provisions for button, text box, or
any widgets for that matter, it has: line, circle, filled circle, rectangle,
filled rectangle, pixmap, etc...
X also sends keyboard input and mouse click locations to the applications
that own the windows they occur in. Beyond that, X's only other capability
is to send text glyphs (rendered in a given font) back to applications that
request them.
As for widgets, and controls, and a nice unified API for writing programs,
you need a "toolkit library". What's a toolkit library you ask? A better
question might be "what isn't a toolkit library?"
First of all, there are a lot of toolkit libraries out there, some are very
simple (Athena) while some have a full-blown callback API and can be adjusted
with themes (GTK, GTK+) and some are object-oriented C++ based APIs (QT).
They all basically do the same thing, provide functions/objects/structures to
the application to draw typical GUI widgets, and send draw requests to the X
server. Here's the hairy part, each toolkit has its own look and feel, has
its own API, has its own conventions, and basically has its own everything.
There's also the seperate window manager, which is simply another X client
which registers a few special functions with the X server so it can get the
location and owner of each window and add decorations and task switching
behavior. Some (most) window managers do more than this, but they all do at
least this.
Windows, on the other had, has the equivalent of the toolkit library and
window manager built into the kernel (sort of) and most applications either
use that, or a custom one that is very similar to it.
I'm sure this is incomplete, but I've already been wracking my brain for an
hour over it, so I'll close here, feel free to ask questions or tell me about
parts that are unclear.
> Good to see you on this list. I wonder if there are some folks out there
> familiar with XWindows to share the kind of navigation that goes on with
> it? I have no idea. Is it the same icons and rdio buttons and all of
> tht? How is it different than windows and how much more easy would access
> be to develop in the XWindows environment? These are important questions
> to your point I imagine.
>
More information about the Speakup
mailing list