TCLUG Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TCLUG:12935] Remote X (client/server rant)



On Thursday, January 27, 2000, Dave Sherohman <esper@usinternet.com> wrote:
> Chris McKinley said:
> > right, and the client is actually running on the remote system.
> 
> ...and is getting its directions from the user, who is sitting at the local
> system.  The display requests may be coming from the remote system, but
> they're in response to activity requests initiated by the user and passed
> through the I/O apparatus on the local system.

This is an illusion caused by the fact that (client) applications react
in predictable ways.  When you click on a button widget, it appears to
react.  But this isn't really what's happening.  Behind the scenes, the
client app has specifically requested to receive click events for that
button.  It can filter out whatever events it does or doesn't care
about.  In this sense, the client is requesting access to an event
stream supplied by the X Server.  It doesn't care where the X Server
gets those events.

Another way to look at it is, who is really in charge of things?  If you
or the client app decided to cross your arms and do nothing, who would
be in more of a bind?  If you stop clicking and moving, the client is
perfectly happy to keep running along.  However, if the client binds up,
the image on the X Server stops refreshing, and there's nothing you can
do about it.

You might get a clearer picture of how things work by picturing the X
Server as simply displaying a flat image to you.  As you click around,
it *chooses* to update the display to create the illusion of a breathing
application.  But in reality, you're just clicking on a big ole pixmap.
More or less.

John

-- 
dusk@ravendusk.org                                http://www.gnome.org
jsheets@codeweavers.com                      http://www.worldforge.org