WindowManager
I bet that many of you’ve stumbled across problems when users have been launching published applications on clients with multiple monitors. Most of the time the application starts in the “middle” of the monitors, half on the left and half on the right as we’ve tried to show with the image below;
The ideal way to start it is in one of the screens, preferably the first one like this;
We as technicians doesn’t have that big of a problem with this though it’s so easy to drag the form/application to one monitor and then maximize or minimize or do whatever we want to have it displayed where we want it.
In this Citrix forum topic you can read more about the problem described by several users;
Dual-monitor issues
Some of our customers were really annoyed about that the application started in the middle of their monitors, so what did we do? We came up with a solution of course!
We’ve built a little executable that moves the form to where you or your users want it! To the executable you pass; the name of the application's form that is published, the number of times the executable should try to find the form, how long to sleep between each search, the X and Y coordinates to where the form should be moved, and the height and width you want it to have.
The command line for the WindowManager is;
WindowManager.exe
“Form name” X-Coordinate Y-Coordinate Width Height NumbersToTryToFindForm MilliSecondsToSleepBetweenTries
So for example, you’ve published Notepad.exe, and it always starts in the middle of the monitors. You want it to be moved to X=10 and Y=10 which is almost at the top left of the first screen and have a size of 800*600.
To solve this we first have to start Notepad.exe and then quickly start the WindowManager and tell it to move the Notepad.exe form which has a default name of; “Untitled – Notepad” to the location we pass to it.
One way to do this is to publish a vbscript instead of Notepad.exe and in the script we start Notepad.exe and then launch the WindowManager with the correct arguments and it will then move the Notepad form and exit. This example vbscript is in the Zip-file downloadable below.
One problem though can be to find out the exact name of the form that you want to move, of course we thought of that as well. Just use the EnvokeIT WindowsDisplayer and you’ll be able to see the exact names in a GUI as shown below;
More information about the WindowsDisplayer tool can be found at;
WindowsDisplayer
References
Citrix article -
Using Multiple Monitors with Seamless Windows
Brian Madden article that describes that no change will be done to multiple monitor support in Longhorn either -
Windows Longhorn details
Download EnvokeIT WindowManager (Free!)