Yeah, I'm aware of virtual desktop and used to create scripts to launch applications using wine explorer \desktop=WIDTHxHEIGHT or whatever the parameters were, it works well. But means that you have to create always new shell script, and it also can prevent desktop integration for certain application. If you globally enable that also, it means that every application opens on the same virtual desktop. Also virtual desktop won't fake the display resolutions to application which is useful in certain cases.
2011/9/2 Hin-Tak Leung hintak_leung@yahoo.co.uk:
--- On Fri, 2/9/11, Jari Vetoniemi mailroxas@gmail.com wrote:
Hello,
I personally hate when applications decide to change my screen resolution without asking me, or some applications just won't run inside window. So I did fake display interface for the winex11.drv. It allows you to send any display resolution and frequency to the application, but it does not change resolution. It's small and simple patch, and won't probably ever be included into the mainline wine. However I'll post it here as it might be useful for some.
To enable, create string key UseFakeDisp with value Y in H_C_U/Software/Wine/X11 Driver Default fake resolution is 800x600 60HZ, you can change default with registry keys FakeDispHeight, FakeDispWidth, FakeDispFreq You can also use env variable WINE_FAKEDISP=WIDTHxHEIGHT_FREQ (eg. WINE_FAKEDISP=1024x768_60)
Might improve it later to use the same syntax for default resolution and allow multiple fake resolutions to be defined with ; separator. This is also useful for dual head setups where you may want to run game or application fullscreen on other monitor while still keeping the other alive. There is also interesting side effect: While some applications throw error or won't run on resolutions they don't support, some applications that don't support them still run with the resolution specified. Eg. I can run Ys games with 1440x900 resolution where they normally would not run, and they look great.
In winecfg there is a way of configuring wine to run under its own desktop window (and having any window application's windows running inside that), instead of having the unix host's window manager managing the window application's window. Have you tried using that? Granted it is a bit awkward for what you want to do (having to go into winecfg to change the desktop's resolution and resetting it afterwards, instead of passing the resolution in per application), but may be improving on that functionality in winecfg could get your code included eventually somehow.