On Dec 5, 2007 2:29 PM, Greg Parker <gparker@apple.com> wrote:
On Dec 5, 2007, at 11:36 AM, Nathaniel Gray wrote:
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.
I don't know, I bet you'd hear a small handful of users screaming (though I'm sure they'd scream loudly!). I bet it'd be considerably less than the (justified) screaming we've heard about spaces-related bugs, windows not raising, wrongly-styled window decorations, and all the other window management related bugs that pop up because we have to fake a parallel version of the Aqua window manager.
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.
Ok, just drop rootless. If you want to run a different WM you probably want it in fullscreen anyway since it won't work properly with Aqua windows, and you can use xnest for that. Bah. The more I think about it, the more I'm convinced that trying to allow non-native window managers is just a waste of brain-cycles. Mac OS X is not X11. The goal should be to seamlessly support X11 *applications* not X11 desktop environments.
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.
Doctor, it hurts when I do that... ;^) Cheers, -n8 --
-- Nathaniel Gray -- Caltech Computer Science ------> -- Mojave Project -- http://mojave.cs.caltech.edu -->