[Xquartz-dev] X11 window appearance

Jeremy Huddleston jeremyhu at apple.com
Sat Sep 12 14:41:25 PDT 2009


On Sep 12, 2009, at 13:03, Eeri Kask wrote:
> Oh thanks for the offer... if you spot any bugs please let me  
> know! :-)
> (To be serious, I would be glad to exactly understand these inner_?
> and outer_? parameters; as well as the AppleWMFrameClass??? intended
> purpose, at least to confirm this parameter is irrelevant to that
> small program.)

The inner/outer is really simple once you understand how X11 builds  
its windows.  It took me a while to get to that point, though... so  
hopefully I can spare you the trouble.

Basically, X11 windows with the borders on them are hierarchical.  You  
have one window (outer) which has some pretty widgets, title bar, etc  
(what the window manager says to draw).  This window has a subwindow  
(inner) which contains all the contents (what the app itself says to  
draw).

As for all the classes, those just correspond to the XP_FRAME_CLASS  
variables in /usr/include/Xplugin.h.  libXplugin uses those to  
determine how to draw the window, how to tag it with metadata, etc.

It looks to me like XP_FRAME_CLASS_SPLASH XP_FRAME_CLASS_BORDERLESS  
are identical as far as Xplugin is concerned... the distinction is  
just in quartz-wm... similarly XP_FRAME_CLASS_UTILITY  
XP_FRAME_CLASS_TOOLBAR XP_FRAME_CLASS_MENU seem to be identical as well.

The difference between those is all in the frame size (none, small,  
large).




More information about the Xquartz-dev mailing list