Re: X11 window appearance
Re: X11 window appearance
- Subject: Re: X11 window appearance
- From: Jeremy Huddleston <email@hidden>
- Date: Tue, 1 Sep 2009 09:21:49 -0700
On Sep 1, 2009, at 02:19, Eeri Kask wrote:
Am 08/31/2009 05:15 PM, Jeremy Huddleston schrieb:
How, in particular, does quartz-wm tell CoreGraphics to do that; is
there any sample code/documentation available; where to look for?
Unfortunately not. It's all internal API stuff (hence why I needed
to
wait for SnowLeopard to get the updated window look).
Pitifully I understand you effectively saying this CoreGraphics
shadow-draw-requesting API is not meant to be used by applications
created outside Apple?
Yes. /usr/lib/libXplugin.dylib is a library for use by X11 that
exposes a minimal API that the X11 server needs to hook into the
private/unpublished APIs used internally at Apple.
There has to be some control indeed, as quartz-wm requests shadow
look change while transferring focus from client to client... and
'override_redirect' X11 clients, which quartz-wm apparently ignores
altogether, don't feature any drop-off shadow at all.
override-redirect are ignored by ALL WMs (not just quartz-wm). Our
code assumes they are menus or tooltips and treats them accordingly.
override-redirect windows are "warped" to the current Space on
activation rather than switching spaces to the one containing the
window. This behavior fixes the "I switched spaces when opening a
menu" bug that was fixed in Leopard's X11 maybe a year ago.
(Being that easy, then the spoken xcompmgr-like background-running
shadow-creator is probably not hard to implement at all --- if its
not done by somebody already; and would compensate for the missing
window borders at least for top-level windows in Xquartz.)
Not exactly... xcompmgr is a huge beast that does a bunch of things
that
we do internally through the native windowing system.
Here is what I meant by the shadow-creator 'daemon': catch
MapNotify, UnmapNotify, and maybe ConfigureNotify events for all
top-level X11-clients,
That's what a WM is.
and then ask CoreGraphics to put or remove
shadow around these.
yeah, that's part of the window frame drawing code in libXplugin.
--- Initially I meant to suggest to extract
exactly this part from quartz-wm into a separate program, for
everybody's use, regardless if some window manager is running or
not. :-)
(If Xquartz would support Xorg's XCOMPOSITE-extension, we probably
could take xcompmgr for that as it is, unchanged.)
XCOMPOSITE is on the list. We removed it around XDC 2008 (Feb '08)
because it caused weird crashes.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
This email sent to email@hidden