public inbox for speakup@linux-speakup.org
 help / color / mirror / Atom feed
From: Jason <unleet@qwest.net>
To: speakup@braille.uwo.ca
Subject: Re: Needs educating: Message from Linux (fwd)
Date: Tue, 22 Jan 2002 11:09:45 -0700	[thread overview]
Message-ID: <02012211094500.14444@lightstar> (raw)
In-Reply-To: <5.1.0.14.2.20020122112305.01f72890@198.144.194.210>

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.
>


  parent reply	other threads:[~ UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
 Needs educateingRE: " Richard Villa
 ` Needs educating: " David Arocho
   ` Thomas Ward
     ` David Arocho
     ` randy turner
 ` Needs educateingRE: " Kirk Wood
   ` Thomas Ward
     ` Charles Hallenbeck
   ` Raul A. Gallegos
     ` Needs educating: " David Arocho
       ` Charles Crawford
         ` David Arocho
           ` Charles Hallenbeck
             ` Amanda Lee
               ` Geoff Shang
                 ` Charles Crawford
             ` Geoff Shang
         ` Jason [this message]
           ` Charles Crawford
             ` Kirk Wood
               ` Amanda Lee
                 ` Kirk Wood
                   ` Amanda Lee
                     ` Georgina
                       ` Kirk Wood
                     ` Kirk Wood
             ` Geoff Shang
             ` Georgina
               ` Amanda Lee
                 ` Georgina
                   ` Amanda Lee
             ` Thomas Ward
               ` Amanda Lee
                 ` Thomas Ward
                   ` Amanda Lee
                     ` Thomas Ward
                       ` Amanda Lee
                 ` Kirk Wood
               ` Charles Crawford
         ` Kirk Wood
       ` Kirk Wood
     ` Needs educateingRE: " Thomas Ward
     ` Georgina
       ` randy turner
 Needs educating: " Gregory Nowak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=02012211094500.14444@lightstar \
    --to=unleet@qwest.net \
    --cc=speakup@braille.uwo.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).