This is the mail archive of the cygwin-xfree 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]

Multimonitor gdi screen patch.


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/


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