[vbox-dev] [PATCH] Experimental support for show/hide VM window

Klaus Espenlaub klaus.espenlaub at oracle.com
Tue Jul 26 10:29:49 PDT 2011

On 24.07.2011 16:29, Alexey Eromenko wrote:
> The only problem so far... is that it doesn't work correctly with
> multi-monitor VMs.

Which is the last hint that the approach you're using is a hack which 
won't do the job in the general case.

The proper solution would be to have a generic window manipulation 
method which at the same time eliminates the need for having any "window 
id" information in the API. This was always considered a hack, but we 
didn't have time to clean it up. Adding more hacks won't be accepted.

One way would be a IDisplay::manipulateWindow(enum WindowOp) method - 
which can hide/unhide/bring to front/detach/attach/... operations. The 
association with IDisplay means that it'd always work on all screens 
associated with a multi-monitor VM. If there's need to make this per 
screen it simply needs to be moved to IFramebuffer.

This would at the same time allow putting the totally misplaced 
IMachine::showConsoleWindow method in the context where it should be... 
it always was performed by the VM process.


More information about the vbox-dev mailing list