Dear Marc-Andre, dear RDP-People,

this is an astonishing project, with so much high quality code, a nice build 
environment, impressing progress, where I wonder, why it is so silent on any 
communication channel. Hmm. 

Anyway, here's a proposed contribution to your project. 

A few words on my environment: I'm responsible for a diskless linux desktop 
setup (fat clients) in a transportation firm. All relevant desktops run on 24" 
screens (1920x1200), with up to three of them resulting in a 5760x1200 
desktop, exhausting the horizontal RDP limit of 4096... Oh, well. Let's wait 
for RDP 8.0 in Windows 9, raising it to .. 8192, I bet(!).

Now the company chose a industry solution running on Windows (of course :( ). 
I set up a Win 2008 R2 RDS Server, and we decided to use up to 2 * 24" 
monitors for the RD due to the RDP limitation. In order to control the linux 
desktop, we need to keep the primary (left) screen for the KDE(3!) desktop, 
hence the middle and right one for RD.

In order to support such a setup, I prepared two patches, one extending the 
/size option with a position in the usual +X+Y notation, moving the RD window 
accordingly, and a second, that (hopefully correctly) utilizes the /multimon 
option to force the recalculation of any backing monitor data for the RD 
screen, including election a new primary, if necessary.

While at it, we decided, that a few 2 monitor desktops can make use of the 
/workarea option, resulting in a RD spanning most of the two desktops but not 
obscuring the linux control bar. This setup is also supported properly now, as 
well as a split setup similar to the 3 monitor setup, but just using 1 monitor 
(the one on the right) for the RD.

Here are some example setups, we use:

1 * Monitor 30"

/workarea

DBG_X11 xf_detect_monitors (96): desktop: 2560x1557+0+0 (max: 2560x1557)
DBG_X11 xf_detect_monitors (136): vscreen[0]: 2560x1600+0+0
DBG_X11 xf_detect_monitors (145): area: 2560x1557+0+0
DBG_X11 xf_detect_monitors (179): monitor[0]: 2560x1557+0+0 (primary)

/f (ullscreen)

DBG_X11 xf_detect_monitors (96): desktop: 2560x1600+0+0 (max: 2560x1600)
DBG_X11 xf_detect_monitors (136): vscreen[0]: 2560x1600+0+0
DBG_X11 xf_detect_monitors (145): area: 2560x1600+0+0
DBG_X11 xf_detect_monitors (179): monitor[0]: 2560x1600+0+0 (primary)

2 * Monitors 24"

/workarea

DBG_X11 xf_detect_monitors (96): desktop: 3840x1155+0+0 (max: 3840x1155)
DBG_X11 xf_detect_monitors (136): vscreen[0]: 1920x1200+0+0
DBG_X11 xf_detect_monitors (136): vscreen[1]: 1920x1200+1920+0
DBG_X11 xf_detect_monitors (145): area: 3840x1155+0+0
DBG_X11 xf_detect_monitors (179): monitor[0]: 1920x1155+0+0 (primary)
DBG_X11 xf_detect_monitors (179): monitor[1]: 1920x1155+1920+0 

/size:1920x1200+1920+0

DBG_X11 xf_detect_monitors (96): desktop: 1920x1200+1920+0 (max: 3840x1200)
DBG_X11 xf_detect_monitors (136): vscreen[0]: 1920x1200+0+0
DBG_X11 xf_detect_monitors (136): vscreen[1]: 1920x1200+1920+0
DBG_X11 xf_detect_monitors (145): area: 1920x1200+1920+0
DBG_X11 xf_detect_monitors (179): monitor[0]: 1920x1200+0+0 (primary)

3 * Monitors 24"

/size:3840x1200+1920+0

DBG_X11 xf_detect_monitors (83): desktop: 3840x1200+1920+0
DBG_X11 xf_detect_monitors (123): vscreen[0]: 1920x1200+0+0
DBG_X11 xf_detect_monitors (123): vscreen[1]: 1920x1200+1920+0
DBG_X11 xf_detect_monitors (123): vscreen[2]: 1920x1200+3840+0
DBG_X11 xf_detect_monitors (132): area: 3840x1200+1920+0
DBG_X11 xf_detect_monitors (164): monitor[0]: 1920x1200+0+0 (primary)
DBG_X11 xf_detect_monitors (164): monitor[1]: 1920x1200+1920+0 

I would greatly appreciate, if you could take these patches, or tell me, how 
you would like to have this functionality implemented correctly.

Since I'm a linux guy, I cannot provide something similar for windows, since 
*all* windows systems are working in virtual machines here ;-), so please bear 
with me.

The patches apply cleanly to current git state of affairs.

Let me know your thoughts.

Thanks,
Pete
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Freerdp-devel mailing list
Freerdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to