This article describes future directions for HID development, in line with with our HID policy . It's constantly updated as the docking effort progresses.

The difference between a DAD dialog and any larger block of widgets in the top window (e.g. layer selector or the coordinate readout) is just the parent widget pointer. Which means the API and the central, HID-agnostic GUI code wouldn't be different if the widgets would be realized not in a separate non-modal dialog but as part of the top window.

Which means any such non-modal DAD dialog code could potentially be re-hosted in the top window, without the code knowing about this. That lets us implement our own, custom "docking" mechanism that will be the same with all HIDs. Properties of that docking system will be:

Generally this will help:

Note: the lesstif HID is lagging behind with the docking effort.