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

[Patch] Starting X on different monitors

I've created a patch for allowing an extra parameter to the
"-screen" arg for Xwin to tell which monitor to open on.

Now you can specify :
-screen <num> [width height [x y] | [[WxH[+X+Y]][@m]] ]
monitors are 1 indexed.
-screen 0 @2
will start X on the second monitor, using the monitors full dimensions
-screen 0 800x600+200+200@3
will start X on the third monitor, size 800x600 with an offset in that
monitor of 200,200 (i.e. go from 200,200 to 1000,800 in 2nd monitor)

-screen 0 1280x1024@2
will start X on the 2nd monitor with no offset, sized 1280x1024

It will error if you specify a monitor that isn't attached.

I haven't implemented the version where you use spaces, i.e.
-screen 0 800 600 200 200 @3
so that could be an easy extension to the patch.

This is my first patch, so I've created it for the two files updated
(winprocarg.c and InitOutput.c).
I've tried to keep the format the same as already there, I'm using
emacs in C mode, so if the spacing is weird, blame that :)

It works fine here on the dual monitor setup I have. I don't have
a gfx card with 3 heads, but in theory, as long as EnumDisplayMonitors
honours the same numbering as Windows shows them in Display Properties
then it should work fine.

Can someone please try this out?
What's the procedure for getting this into CVS after it's been testing?

Comments welcome

Mark Fisher

Attachment: ScreenOnMonitor.diff
Description: Binary data

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