This would be great for multi-monitor-systems where dialog boxes for some reason can always pop up on the wrong monitor.

DialogMove does a good job in this sense, already (see discussion here) -- however DialogMove can't be restricted in order to not additionaly move all dialogs under the mouse pointer (because the latter actually is what it is SUPPOSED to do).

Therefore it would be great to have a little tool that could move dialogs similar as DialogMove does, but ONLY when dialogs pop up on the wrong monitor (or when they come up on the correct monitor, but not centered).

Recapitulating: The IDEA is, popups and dialogs should only be moved (to the center of the monitor where the mouse pointer is OR where the parent application is, possibly make that an option) when they are either a) on the wrong monitor or b) on the correct monitor, but not centered (on the monitor).

I have just modified DialogMove's code to do what you asked.I'm not 100% sure this will work, as I can't test it right now since I don't have a Windows machine with 2 screens.You will need to install autohotkey to run it.

At least this can be a good starting point for anyone who might want to pick this up.

There's only one "phenomenon": If the mouse pointer already is in the very area where a window WILL popup, then that window will not get centered (this happens on the same monitor, therefore should be present with single monitor systems also).

Only if the mouse pointer is moved outside this area (which the popup/dialog will be covering afterwards) BEFORE the window actually comes up, then the window will get centered.

Of course, the same applies to lots of other popup windows and dialogs

Take a look at the Include and Exclude subroutines in the original script.

If you wanted to include or exclude certain dialog boxes from going to the center of the proper screen, you could probably do that. (I don't have a dual monitor setup so I'm not going to look into the details.)

Of course, the same applies to lots of other popup windows and dialogs

Take a look at the Include and Exclude subroutines in the original script.

If you wanted to include or exclude certain dialog boxes from going to the center of the proper screen, you could probably do that. (I don't have a dual monitor setup so I'm not going to look into the details.)

Actually, I think David is glad that this modification of DialogMove works for all windows

I know -- but I'd rather not having to maintain an ever growing black list... Instead, I'd very much like to tell the program: "ONLY touch things that have a title bar".

Can that be done?

You can experiment with the spy. I just messed with it a bit. Seems like non title bar windows should return blank for WinGetTitle function. If WinGetTitle on the active window returns blank, it's not one you want etc..

It's the same on single monitors: for example the start menu gets moved to the center in my case (admittedly at least partially caused because I wanted DialogMove to center windows even when the mouse is already over them, see further up the thread).

I guess that probably around these parts in DialogMove something (?) would have to be changed in order not to detect windows without title bars:

Yeah, but how can I insert "Blank" or "nil" into DialogMove's preferences then?

I haven't looked at Dialog Move code since I don't have multiple monitors. If I can't try it out myself it's kind of a dead end.

Just a note: dialogmove works on any monitor, single or multi setup. The original purpose was to work on a single large monitor; it was then tweaked for multi screens.

I even find it useful on a tiny netbook screen.

I believe. All I'm saying is the OP wants a function for multiple monitors and it seems futile to get into it if I don't have a MM set up. Simulation ain't always the same as running 2 real physical devices. If I can't test it myself I don't want to code it. Unless I was somebody's employee then I guess I'd haveta'.