How to manage IDE layouts and deal with multi monitor issues

The Clarion IDE has the ability to store and manage multiple different layouts which can be quite useful to switch between for different workflows.

These are accessed from the View menu:

NOTE: Any changes made to the currently active layout are only saved when you exit the IDE.

What this means is, if you adjust your layout and then switch to a new one without closing the IDE then your changes are not saved.

You can create custom layouts by selecting the <edit> option from the Choose Layout sub menu like so:

NOTE: Any newly created layout appears to inherit from the base “Application” layout.
EXTRA NOTE: That means the most recently saved “Application” layout, not whatever changes your have made since opening the IDE :smile:

The defaults for layouts are defined in:

<cwroot>\data\resources\layouts

…however it is probably not a good idea to change these. They will likely be overwritten when you update the IDE.

When you exit the IDE the current layout is saved here:

%appdata%\SoftVelocity\Clarion\10.0\layouts\

(replace with whatever your ConfigDir is where appropriate!)

Dealing with layouts and pad positioning when you have multiple monitors

Be warned, the layout system is not without its quirks. In particular, later versions of the IDE are somewhat borked when you have multiple monitors.

PTSS 41631 contains a good description of the symptoms:

Drop zones never appear on the monitor where the IDE is located making it extremely difficult to re-arrange the IDE

And the details of the reproduction:

Arrange the monitors such the PRIMARY monitor is NOT at the TOP IOW, have other monitors that are above the primary.
The displayed location of the drop zones is adversely affected by this.
It appears the (not always correct) assumption is that the primary monitor is the highest, and leftmost monitor. If that is true, and the IDE is on the primary monitor, then the drop zones appear correctly, if ANY of that is false, then is messed up.

The only solution is to temporarily (or permanently) change your monitor configuration, adjust the layouts and then return to your preferred monitor layout.

You might also consider manually tweaking the layout XML files as found in the locations described above. It is not for the faint of heart though, these are automatically generated by the Weifen Luo docking component and obviously not intended for humans to edit :smiley:

Some PTSS reports related to layouts!

PTSS 41285: Non linear Multidisplay fails when changing layout
PTSS 37551: Change Layout causes issues
PTSS 35390: IDE Hangs when changing layout
PTSS 35163: ReSubmission of IDE closing when changing layouts
PTSS 34762: Layout problems
PTSS 33803: broken redrawing when changing IDE layouts
PTSS 33522: Changing layouts GPFs
PTSS 32125: crashes in “debug layout” mode
PTSS 31246: Application Generator Resizes Wrong when IDE Layout is changed
PTSS 41631: Regression - Docking Drop Zones fail to appear correctly when have multiple monitors
PTSS 41588: Docking DropZones – missing completely - regression from PTSS[39916]
PTSS 39916: Docking Dropzones fail to appear on non-primary monitors
PTSS 34738: Undocking the Output window loses focus to another application