Multimonitor gdi screen patch.

Tom Whittock tom.whittock@gmail.com
Wed May 10 13:17:00 GMT 2006


Probably picked the wrong list, but here you go. Note I am not
subscribed to this list.

Here follows a simple patch to the xwin program to enable multiple
monitor support for full screen operation using the gdi engine:

xwin -fullscreen -engine 1 -screen 0 @1 -screen 1 @2

what used to occur was that both screens would be opened one behind
the other on the primary monitor. They now open on the device selected
by the @component. Note that this does not mean Xinerama support is
available, so dragging windows between the screens is not possible
(unless I've missed something)

I am considering patching the direct draw engine to do the same - i.e.
selecting the appropriate graphics device depending on the -screen
usage; can someone mail me to let me know if that's worthwhile - is
the performance of the direct draw flavoured engines that much better?

Also, does anyone know what would be required for xinerama support?
Not entirely sure where to look for that stuff.

Cheers,
Tom.

--

~/src/xc/programs/Xserver/hw/xwin$ cvs diff -u wincreatewnd.c
Index: wincreatewnd.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xwin/wincreatewnd.c,v
retrieving revision 1.1.4.1.2.15
diff -u -r1.1.4.1.2.15 wincreatewnd.c
--- wincreatewnd.c      2 Feb 2005 18:03:08 -0000       1.1.4.1.2.15
+++ wincreatewnd.c      10 May 2006 12:39:18 -0000
@@ -55,6 +55,8 @@
 {
   winScreenPriv(pScreen);
   winScreenInfo                *pScreenInfo = pScreenPriv->pScreenInfo;
+  int                  iX = pScreenInfo->dwInitialX;
+  int                  iY = pScreenInfo->dwInitialY;
   int                  iWidth = pScreenInfo->dwWidth;
   int                  iHeight = pScreenInfo->dwHeight;
   HWND                 *phwnd = &pScreenPriv->hwndScreen;
@@ -96,8 +98,8 @@
                            WINDOW_CLASS,       /* Class name */
                            szTitle,            /* Window name */
                            WS_POPUP,
-                           0,                  /* Horizontal position */
-                           0,                  /* Vertical position */
+                           iX,                 /* Horizontal position */
+                           iY,                 /* Vertical position */
                            iWidth,             /* Right edge */
                            iHeight,            /* Bottom edge */
                            (HWND) NULL,        /* No parent or owner window */

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/



More information about the Cygwin-xfree mailing list