This is the mail archive of the
cygwin-xfree
mailing list for the Cygwin XFree86 project.
Multimonitor gdi screen patch.
- From: "Tom Whittock" <tom dot whittock at gmail dot com>
- To: cygwin-xfree at cygwin dot com
- Date: Wed, 10 May 2006 14:17:38 +0100
- Subject: Multimonitor gdi screen patch.
- Reply-to: cygwin-xfree at cygwin dot com
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/