RE: How to start messing around with creating a rootless mode...
-Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Stuart Adamson Sent: Thursday, 13 June 2002 10:11 PM It does seem like this might get a bit complex (we would have to hold the hwnd of each window in the windows private and use that to decide what needs updating and when). Yes, but the X infrastructure for this is excellent. I had it mostly working, but looking crap due to the decorations, and not choosing which windows to show on the taskbar terribly cluefully. Alan has various patches from me. Unfortunately, my personal time completely dried up without much warning a couple of months ago, and I haven't gotten back to that. The windows message loop will need to do some demux'ing as well. Hmm, could do, but didn't seem to need it. Rob
RE: How to start messing around with creating a rootless mode...
-Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Alan Hourihane Sent: Thursday, 13 June 2002 11:04 PM To: [EMAIL PROTECTED] Subject: Re: How to start messing around with creating a rootless mode... On Thu, Jun 13, 2002 at 10:57:44PM +1000, Robert Collins wrote: Yes, but the X infrastructure for this is excellent. I had it mostly working, but looking crap due to the decorations, and not choosing which windows to show on the taskbar terribly cluefully. Alan has various patches from me. Unfortunately, my personal time completely dried up without much warning a couple of months ago, and I haven't gotten back to that. Unfortunately I didn't get the full set of patches which really did the rootless modes. If you want to create a full diff - I'm sure someone will look at them. I'll see what I can do shortly. Rob
RE: How to start messing around with creating a rootless mode...
Stuart, But on the overall, I don't think it's really the way to go. Again, I don't known much about X so it may not be reasonable but what about creating a Windows window for each X window? This would allow each X App to appear in the taskbar like any Windows application. This is how eXceed works and it makes more sense to me. When I'm working in rootless mode - typically I won't be running a window manager. Right. That is exactly why I described the method of getting started as I did: because everything you do for drawing in rootless mode will still be needed when you are drawing to individual windows. Say what? That's right, you're still going to have to have a method of drawing the root window as transparent and setting the clipping region of the root window to nothing when the server looses the focus. Once you've got it so that twm can draw windows that float above the Windows desktop, then you can start worrying about holding hwnd's to individual windows, etc. Harold
RE: How to start messing around with creating a rootless mode...
Robert, I totally forgot that you had worked on a rootless mode. I'd definitely be interested in seeing the patches. Thanks, Harold
RE: How to start messing around with creating a rootless mode...
Enjoy. YMWV, as this is against somewhat old sourceforge CVS. I'm also not sure what quality I left it in :}. At a minimum it should provide food for thought. Rob -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Harold Hunt Sent: Thursday, 13 June 2002 11:53 PM To: [EMAIL PROTECTED] Subject: RE: How to start messing around with creating a rootless mode... Robert, I totally forgot that you had worked on a rootless mode. I'd definitely be interested in seeing the patches. Thanks, Harold rootless.patch.bz2 Description: Binary data
How to start messing around with creating a rootless mode...
Now that we have the -nodecoration parameter we can start messing around with making the some initial moves towards a rootless mode, just like XDarwin. Here are some initial steps to take that would help you learn a little about creating a rootless mode: 1) Start off by simply overriding PaintWindowBackground to paint a transparent background to cause the X Windows (still managed by a window manager such as twm) to 'float' above the Windows desktop when Cygwin/XFree86 has the focus. 2) You'll need to look at xc/programs/Xserver/hw/darwin/quartz/rootlessScreen.c/RootlessPaintWindowBac kground (). There is a check in this function that paints the root window background using the 'magic' transparent color. You'll need to do something like this for Cygwin/XFree86, so you'll need to start by finding the Windows 'magic' transparent color. You'll also need to put a function that is almost equivalent to this function into some file in hw/xwin/. 3) You now need to wrap the paint background function so that our paint background function gets called first. XDarwin does this in xc/programs/Xserver/hw/darwin/quartz/rootlessScreen.c/RootlessWrap (). To start you'll need to make a similar function to this in hw/xwin/, or you could just copy the WRAP macro and the call to it for PaintWindowBackground into hw/xwin/winscrinit.c/winFinishScreenInitFB (). Darwin calls RootlessWrap through a convoluted sequence something like: DarwinAddScreen-QuartzSetupScreen-AquaSetupScreen-RootlessInit-RootlessW rap. If you do all that you'd have put Cygwin/XFree86 on the road to having a rootless mode. Good luck, Harold
Re: How to start messing around with creating a rootless mode...
1) Start off by simply overriding PaintWindowBackground to paint a transparent background to cause the X Windows (still managed by a window manager such as twm) to 'float' above the Windows desktop when Cygwin/XFree86 has the focus. starting at search.microsoft.com gives : http://msdn.microsoft.com/library/en-us/vclib/html/vcrefCImageGetTransparentColor.asp ___ Do You Yahoo!? -- Une adresse yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com
Re: How to start messing around with creating a rootless mode...
Harold Hunt wrote: Now that we have the -nodecoration parameter we can start messing around with making the some initial moves towards a rootless mode, just like XDarwin. Here are some initial steps to take that would help you learn a little about creating a rootless mode: [...] If you do all that you'd have put Cygwin/XFree86 on the road to having a rootless mode. Since I don't know anything about X nor how the X server interacts with XWin, it may be not useful but what about creating holes around X windows? http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/clipping_21d3.asp The XWin window start empty (a big excluded region). Each time we add a X window, we fill the region with the shape of the X window to make it non transparent. The biggest issue may be performance when managing non rectangular window and moving windows arround. This could be pretty easy to do. But on the overall, I don't think it's really the way to go. Again, I don't known much about X so it may not be reasonable but what about creating a Windows window for each X window? This would allow each X App to appear in the taskbar like any Windows application. And if someone writes a specific window manager, we could then easily use the Windows window manager to also manage X windows. Rereading the To-Do list, it's basically the first point (Seamless integration with Windows) :p
RE: How to start messing around with creating a rootless mode...
HOW MANY TIMEs DO I NEED TO UNSUBSCRIBE FROM THIS LIST TO REALY GET OFF IT ???
RE: How to start messing around with creating a rootless mode...
HOW MANY TIMEs DO I NEED TO UNSUBSCRIBE FROM THIS LIST TO REALY GET OFF IT ??? I'm not the maintainer of this mailing list so I don't known why you send this message to me!! Go read http://cygwin.com/lists.html to see of you are doing it correctly and, if you do and it still doesn't work, to get the mail address of the maintainer. Cheers, Jehan _ Join the worlds largest e-mail service with MSN Hotmail. http://www.hotmail.com