Rootless mode revisited...

Jehan nahor@bravobrava.com
Wed Oct 9 09:41:00 GMT 2002


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





More information about the Cygwin-xfree mailing list