Loadable, X11.bundle(?)
Loadable, X11.bundle(?)
- Subject: Loadable, X11.bundle(?)
- From: John Davidorff Pell <email@hidden>
- Date: Thu, 23 Sep 2004 14:00:41 -0700
Ok, so I've been toying with this idea lately...
I've been thinking a bit about how to integrate X11 into Aqua a bit
more, and with the tremendous cleanup of the X codebase that X.org is
doing its seeming more and more possible.
Here's my idea: Create a loadable bundle that is loaded by the Aqua
window server (I believe that it has this ability) that implements a
subset of the X11 protocol so that X11 windows are entirely "native"
windows. Implementing the whole protocol is impractical since there are
assumptions and design decisions in X that Aqua does not keep
(deliberately). However, implementing a sufficient subset and stubs for
the remaining (non-working) functions would allow all modern X apps to
run under Aqua with no X11.app, with their own Dock icon, and (almost
complete) integration.
Full-screen mode would not be supported, since there would be no X
server :-D. Appropriate window-manager-to-aqua functions would be
loaded into the X bundle, but from the client's perspective the calls
to the window manager would still be the same. Functions that do not
translate to this context would be set to return some default error
value, and most applications should deal with this gracefully. Many
mini-extensions would need to be written to wrap the Aqua equivalents,
for example Render would do very little since text in Aqua is all
anti-aliased. The Damage and Composite extensions would similarly do
almost nothing since Aqua manages the windows all on different buffers,
and supports transparency natively. Basically, these would just be thin
wrappers.
Since X restricts border drawing and title bars to being drawn by the
window manager, there will be no conflict with the Aqua versions. Dock
icons can be changed dynamically, and so when the X app loads whatever
icon it announces for use in its title bar, would become the app icon.
All windows from one process would share an icon, so we'd need to
figure out what to do if different windows announce different icons.
Clearly this would require a bit of work, but I would guess that most
of the existing X server can be re-used, only the drawing parts would
be replaced. This also means that the growing abstraction between the
display dependant and independent parts could work in our favour. :-)
Also worth noting is the XCB server, which may be an even better place
to start since it is so much more dynamic, clean, and especially
loadable. :-)
Questions? Comments? Modifications?
Thanx,
JP
--
"... was it a dream where you see yourself standing in sort-of Sun-God
robes, on a pyramid, with a thousand naked women screaming and throwing
little pickles at you? ... Why am I the only one who has that dream?"
_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden