*BSD News Article 66475


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!news.ecn.uoknor.edu!solace!nntp.uio.no!news.cais.net!newsfeed.internetmci.com!in2.uu.net!news.artisoft.com!usenet
From: Terry Lambert <terry@lambert.org>
Newsgroups: comp.os.linux.development.system,comp.unix.bsd.386bsd.misc,comp.unix.bsd.bsdi.misc,comp.unix.bsd.netbsd.misc,comp.unix.bsd.freebsd.misc,comp.os.linux.advocacy
Subject: Re: Historic Opportunity facing Free Unix (was Re: The Lai/Baker paper, benchmarks, and the world of free UNIX)
Date: Thu, 18 Apr 1996 12:46:27 -0700
Organization: Me
Lines: 71
Message-ID: <31769C13.501FEBBD@lambert.org>
References: <4ki055$60l@Radon.Stanford.EDU> <jdd.829261293@cdf.toronto.edu>	<yfglok14n5r.fsf@time.cdrom.com> <31702487.420C2193@lambert.org>	<yfg3f67giw7.fsf@time.cdrom.com> <31718ED3.555EB900@lambert.org>
	     <yfgd959fo96.fsf@time.cdrom.com> <199604161719.SAA02142@kythera.demon.co.uk> <31740061.389946B0@lambert.org> <199604172235.XAA05829@kythera.demon.co.uk>
NNTP-Posting-Host: hecate.artisoft.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.01 (X11; I; Linux 1.1.76 i486)
Xref: euryale.cc.adfa.oz.au comp.os.linux.development.system:21879 comp.unix.bsd.386bsd.misc:729 comp.unix.bsd.bsdi.misc:3370 comp.unix.bsd.netbsd.misc:3211 comp.unix.bsd.freebsd.misc:17783 comp.os.linux.advocacy:46468

Ray Auchterlounie wrote:
] >I've often thought that X should provide an object interface,
] >and that look-and-feel should be implemented in X server --
] >like the window manager should be.
] 
] ...well _that_ should take some of the heat off Lai & Baker... ;-)
] 
] <Fx: ducks, Nomex suit on... >
] 
] Actually, I agree. Could make X an awful lot more usable for remote
] clients over slow networks for a start.

A picture is worth a thousand words?

=======================================================================
 Application server        Management server          X Server 

,------------------.     ,------------------.     ,--------------.
|   Application    |  |  |  Window manager  |  |  | Hardware     |
|----+---------.   |  |  |----+---------.   |  |  | Acceleration |
|    | GUI lib |   |  |  |    | GUI lib |   |  |  |              |
|    `----.    |   |  A  |    `---------|   |  B  |--------------|
|  xlib   | *  |   |  |  |       xlib   |   |  |  |      X       |
|---------+----+---|  |  |--------------+---|  |  |--------------|
|    system        |  |  |    system        |  |  |   system     |
`------------------'     `------------------'     `--------------'
  |         |                ^     |                 |     ^
  |         |                |     |                 |     |
  |         `---------------'      `-----------------'     |
  `--------------------------------------------------------'


An application can make a request, like "draw a listbox", and the
window manager can satisfy that request using the GUI lib it was
linked with and the X lib it was linked with.  Instead of it
being satisfied locally by making X requests (GUI lib area
marked '*').

This establishes an additional (optional) communicatons channel
between the application and the window manager, and the window
manager renders objects on behalf of the application.

It's really quite irrelevant if we draw the line at 'A' or 'B'
(or at both 'A' *and* 'B' and run the window manager on a third
machine).  I happen to prefer to draw it at 'A' because of wire
traffic savings  -- it's much cheaper to make a "listbox request"
than it is to make a bunch of draw requests.

The application believes it has the same GUI.  It uses the same
source code.  As a matter of fact, if implemented correctly,
only the shared library need change.

If the application doesn't violate style guidelines and make itself
more difficult to learn and use without additional training, then
the application's entire "look and feel" will come through proxy
calls from the window manager.

Want a different look and feel?  Change window managers.  If you
pick a window manager that the GUI lib can't establish a channel
to, then it falls back to the local library.  Applications using
subclassing could, optionally, turn this off intentionally so
that they could look like OpenLook applications on a Motif system
(violating the system style guidelines, but keeping their precious
deviations from the application library style guidelines intact).
=======================================================================

                                        Terry Lambert
                                        terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.