This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
Re: Rootless mode revisited...
- From: Jehan <nahor at bravobrava dot com>
- To: cygwin-xfree at cygwin dot com
- Date: Wed, 09 Oct 2002 09:41:52 -0700
- Subject: Re: Rootless mode revisited...
- References: <F111zHB7QJwyCF5ojrV0001377e@hotmail.com>
- Reply-to: cygwin-xfree at cygwin dot com
Thomas Chadwick wrote:
I just had a thought on how to implement rootless mode and I'm hoping
someone more familiar with Windows programming and/or the XWin server
might let me know if it's a dead-end before I spend too much time
researching it further.
The idea I had is this: Can we exploit the features of the Windows API
that allow for non-rectangular windows to achieve a "pseudo-rootless"
mode? I have looked into it enough to find that non-rectangular Windows
windows are really collections of multiple rectangles, ellipses, etc.
Seems to me XWin could exploit this by simply {adding|removing} a
rectangle {to|from} the collection that makes up its shape whenever an
Xclient is {created|destroyed}.
I call it "pseudo-rootless" mode because you would still need to run an
XWindows window manager to decorate the Xclients, as opposed to having
the Windows window manager do the decoration.
What I don't know is how well Windows will handle, for instance, moving
an Xclient window around once it's been created, since that would
involve dynamically manipulating the shape of a Windows window.
What I also don't know is whether or not the way XWin uses DirectDraw
and frame-buffering somehow precludes the use of the Windows
window-shaping APIs.
I thought of something similar but "less pseudo". Currently, XWin draws
in a buffer and copy this buffer to the XWin window. If one knows how to
get the X windows position, one could create one Windows window per X
Window a copy just the part matching the X window. This has the
advantage over your method to give one button in the taskbar per X window.
If the Windows windows are fully opaque (which is the case for every
body except a few geeks), the fact that, when windows overlap, the
bottom window contains part of the top windows should not be a problem
(it should be hidden by the top windows)
Jehan