GUIs - A Modest Proposal

Stephen Hansen me+list/python at ixokai.io
Thu Jun 10 22:49:26 EDT 2010


On 6/9/10 11:40 PM, Gregory Ewing wrote:
> Lie Ryan wrote:
> 
>> Doesn't Mac uses an X server as well?
> 
> You can run one optionally if you want, but its native
> graphics system is *not* based on X11. It has a window
> server, but the protocol is completely different. The
> details are shrouded in mysteries known only to Apple,
> but I gather it's based on PDF drawing operations.
> 
> As far as I know, there is no separate "window manager"
> process -- the window server itself takes care of
> drawing and managing the window decorations, and there
> is no published way of overriding how it does that.

Just as an aside, in case anyone's curious-- to expand on Greg's answer
(as I don't have the original to reply to presently)--

The window manager is Quartz Compositor, which shows up as the
WindowServer process (or something very like it). It handles loading
image buffers in and out of memory and layering them, and doing event
processing (i.e., determining which actual window gets this key event)
and mediating interactions and such things.

It doesn't do PDF-ish stuff; that's the Quartz 2D part, which is the
window rendering subsystem. Then again, all of the different parts of
the graphics layer are just usually called Quartz, and unless you're
working for Apple you don't really care-- so calling Quartz the
rendering engine and window manager and just hand-waving it all together
is perfectly fine :)

X11.app runs as a regular app on top of all of this. Regular users can't
be allowed to see programs that run under X11. It will alarm and offend
their sensibilities. We macophiles are a touchy bunch about user interface.

-- 

   Stephen Hansen
   ... me+list/python (AT) ixokai (DOT) io

P.S. As a further aside, Quartz Compositor is GPU-accelerated, the
rendered image gets loaded into the GPU just as a texture surface, and
it lets the GPU compose them together once it decides on their order and
placement and any effects that it wants to apply. Its nice. And some
day, Apple will turn on Quartz 2D Extreme, which moves all the rendering
routines into the GPU too. (I have no idea why they still haven't turned
it on in 10.6)

P.P.S. The above statements are not meant to be 'my platform is better
then yours'; I'm quite certain Windows has all kinds of GPU acceleration
of the basic interface (at least with Aero). And I haven't tried to run
Linux outside of a terminal-only non-GUI context in years to check up on
it. I'm just musing. :P

P.P.P.S. I am done asiding now. Honest. Back to the endless argument.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20100610/837dad45/attachment-0001.sig>


More information about the Python-list mailing list