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.

Klaus

_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev

Reply via email to