[Xquartz-dev] fb / rootless crash bugs
Greg Parker
gparker at apple.com
Wed Dec 5 14:29:21 PST 2007
On Dec 5, 2007, at 11:36 AM, Nathaniel Gray wrote:
> On Dec 4, 2007 4:36 PM, Greg Parker <gparker at apple.com> wrote:
>>
>> I took a quick look at Composite. It looks like it was designed to
>> work inside a window manager. I'm not sure that makes sense in our
>> environment. We could make quartz-wm also in charge of the Mac
>> windows
>> via Composite, but that might leave other window managers out in the
>> cold. One alternative might be to use the Composite code paths in the
>> server, without using the Composite extension directly.
>
> I'm certainly not an expert, but it does seem to me that Composite is
> a very promising approach. It basically turns the X server into a
> rendering library for window contents instead of a full desktop window
> system. This is exactly what we want! Just have it render to the
> backing stores of the windows of a Cocoa application -- native window
> management for free! I'm oversimplifying, I'm sure, but it seems like
> an attractive option.
>
> As for alternative window managers, well, other window managers are
> already out in the cold. They can't interleave windows with native
> windows and generally don't behave naturally on OS X. But this is not
> an either-or thing -- other window managers can use the traditional
> code paths while OpenQuartzWM (the shiny new open-source version of
> quartz-wm ;^) can use the Composite path.
Other WMs may behave unnaturally, but they *do* work. I bet you'd hear
a lot of screaming if we threatened to take them away.
We really don't want to keep both Rootless and something that replaces
it; that's just asking for trouble down the road when one side doesn't
get enough testing.
> Another thought worth considering -- should we perhaps be writing a
> composite manager *instead* of (or in addition to) a window manager?
> Existing window managers are OK at handling X windows, they just don't
> know about compositing with the other Aqua windows on the OS X
> desktop. Maybe writing a native compositer could solve that.
That's the part I'm not sure about. I don't know whether using a
composite-unaware window manager together with a composite manager
works in practice. I also don't know what happens if you try to use a
window manager that *does* use composite together with a composite
manager (which is what happens if we use composite in the server for
windows and a user uses some-random-wm on top). They might conflict
while trying to take over control of top-level windows.
--
Greg Parker gparker at apple.com Runtime Wrangler
More information about the Xquartz-dev
mailing list