[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