Popup windows in plugins

I would like to have popup dialog windows in my plugin for things like registration, alerts, external windows for meters, etc. However, in the documentation for OnlineUnlockForm, this line is under the description:


"...But if you're writing a plugin, then DO NOT USE A DIALOG WINDOW! Add it as a child component of your plugin's editor component instead."


Why is this? It seems like companies like Native Instruments, iZotope, and many others use dialog windows for just these things.

Did you weigh the pro's and cons carefully to settle on this aesthetic?

As long your windows are non-modal IMHO it should be okay. Also setAlwaysOnTop(true) is helpful, for those kind of windows (prevents window hiding)


As chkn says, running modal loops in plugins is a very bad idea (in general modal loops are a bad idea). From a hosts perspective it can wreak all kinds of havoc if you're not careful.

But compatibility and stability aside, showing dialogs is just plain iritating. I hate that fact that when I scan for plugins I get 20 modal windows about trials thatI have to manually close. If hosts scan automatically in the background these have to be closed before you can continue your work.

In theory, as long as you close all your dialogs when your editor is deleted things should run ok but it's much nicer to keep everything inside your UI. It's also easier for users to find these then rather than hunt for windows that may have popped up behind other windows and aren't viewable from the taskbar/expose etc.

You can’t guarantee the modal window z-order in the host – and I’ve seen some plugins where they’re created behind other windows inside the host which has basically locked the user out and forces the user to “force quit” the host and possibly lose their session data.

It’s best to create a new component which is the size of your UI and create your “dialog” on that component.