This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Latest release observations


Jean-Claude,

I know it seems like this would be a simple change, but it isn't.  There are
already 169 lines handling WM_DISPLAYCHANGE messages.  It seems that your
message should already be handled, because we drop and recreate the
DirectDraw surface when the display size changes.  The rootless mode uses
the Shadow DirectDraw Non-Locking engine by default, so the surface should
be being recreated at the correct point.

I don't think that this problem has anything to do with WM_DISPLAYCHANGE
processing.  Someone will have to step through this in a debugger to find
out what is happening.

Harold

> -----Original Message-----
> From: cygwin-xfree-owner at cygwin dot com
> [mailto:cygwin-xfree-owner at cygwin dot com]On Behalf Of Jean-Claude Gervais
> Sent: Saturday, March 29, 2003 12:06 PM
> To: Cygwin-XFree
> Subject: RE: Latest release observations
>
>
> One thing I might mention; I did some digging, and the XWin
> window seems to
> be receiving a
>
> WM_DISPLAYCHANGE
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/g
> di/pantdra
> w_2qzp.asp
>
> when the display changes resolution, so I'm guessing here, but maybe a bit
> of code in the function called
>
> winTopLevelWindowProc
>
> in
>
> xc/programs/Xserver/hw/xwin/winmultiwindowwindow.c
>
> That would do something like
>
> case WM_DISPLAYCHANGE:
>
> 	if ( IsMultiMonitorMode( hWnd ) ) {
>
> 		MoveWindow( hWnd, 0, 0, iCurrentWidth,
> iCurrentHeight, TRUE  );
>
> }
> 	break;
>
> Of course, I only took a quick look at the code and I'm not entirely sure
> how it all hangs together yet, but something like this should do
> the trick.
>
> Thanks.
>
>
>
>
> -----Original Message-----
> From: cygwin-xfree-owner at cygwin dot com
> [mailto:cygwin-xfree-owner at cygwin dot com]On
> Behalf Of Jean-Claude Gervais
> Sent: Saturday, March 29, 2003 7:47 AM
> To: Cygwin-XFree
> Subject: Latest release observations
>
> Hi,
>
>         I have just reinstalled my machine and therefore had to do a fresh
> install
> of Cygwin.
>
>         -multiplemonitors now works fine on my home machine, but for some
> reason,
> it still only uses one display on my computer at work. I'll have a look at
> the log file and post back when I get a chance.
>
>         One thing I have noticed, that might be a nice simple
> feature to add
> is
> this -
>
>         If I start Xwin in -rootless mode at 1024x768, it creates an
> invisible root
> window at screen coordinates 0,0
>
> If I then play a DirectX game that changes the display's resolution to
> 800x600, when I exit the game, the XWin invisible root window is
> now shifted
> over to the right.
>
> My fix would be simple:
>
> If running in rootless mode and the resolution changes, move the invisible
> root window back to 0,0.
>
>
> Thanks.
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]