John Hardin - 2008-12-30

This is probably due to a fundamental design flaw in Windows. In Windows, the application itself handles all requests to manage its window - versus X, where there is a Window Manager that handles things like resize, hide, restore and move requests.

The result of this is that if some application sends a "hide" or "restore" event to a window, and the application is off busy doing something else and doesn't respond to that event, the application that sent the request will hang. I see this a *lot* in SQL Server Management Studio and Visual Studio, and it's quite annoying.

Once the application stops navel-gazing and responds to the window request, all of the queued requests from VD will be flushed - leading to all the desktops you clicked trying to get the flipping thing to respond being displayed in quick succession...

I don't know if there's a good workaround for this apart from learning when applications stop listening to events and disciplining yourself to not touch their virtual desktop while they're busy.