Opening an external window

From m204wiki
Revision as of 22:24, 21 April 2023 by Ekern (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Although the Client's Watch Window is expandable (by dragging its left edge) and you can also view long values by hovering the mouse pointer, you still may find cases where you would like to have more room for the Watch Window than is available. Or you may have cases where you could take better advantage of your monitor screen real estate if the Audit Trail tab were separated from the Client. Or you may have dual monitor capability, and ideally would like to use one monitor for the Client main window and one monitor for the Web Buffer tab.

The "external window" feature lets you display any combination of the Client main areas (the Watch Window, Audit Trail tab, Execution Trace tab, Web Buffer tab) or the button bar in individual windows that are separate from each other and from the Client.

You invoke the feature by double clicking the name of the Client area, or by menu option or mapped button, key, or macro. Any of these actions instantly creates a separate independent window for the specified Client area. The contents and label of the former area are removed and transferred to the new window, which (except for an external button bar) is equipped with Print and Save options accessible by menu or button. Closing the external window returns its contents to the usual area on the Client.

The rest of this section describes the feature with a detailed example, considers ways to control the positioning of external windows, and shows how to open an external window automatically.  

Watch Window example 

To use an external Watch Window, for example:

1. Do either of the following:

a) Select Open External Watch Window from the Client's Window menu.
For opening the Watch Window (but not for the other areas) you can also use the Data Display menu.
b) Invoke a button, key, or macro mapped to the openExternalWatchWindow command.
Unique open commands exist for each of the other areas. As described below, you may want to open the external window at Client startup.

2. The external Watch Window window opens, displaying the current Watch Window items. The space formerly occupied by the Watch Window is vacated, including its label.


In the external window:

  • Print and save options are on buttons and in the File menu.
  • The Clear button deletes all the items in the window.
  • The Close button closes the external window but repopulates the former Watch Window area on the Client with the items that were present at the time of the close.
The mappable command closeExternalWatchWindow performs the same action as the Close button.
Unique close commands exist for each of the other areas except for the button bar, and the closeExternalWindows command closes multiple windows at once.
  • A search bar provides a text box and control buttons for searching the window content. Top and Bottom buttons locate and highlight the first or last line of the content, while Search Down and Search Up activate backwards or forwards searching.
Pressing the Enter key after entering a search string in the search text box searches down, by default, and each subsequent key press searches for additional occurrences of the string, as long as the focus remains on the search text box.

3. Continue debugging. The external window functions the same as the normal one, except:

  • The external window typically pops up when you click it or when new content is written to it. Clicking a Client control brings the Client window to the top.
  • External windows may be pinned: you can specify one or more of them to keep in view at all times
  • Only the external window has print and remove-all-items-at-once (Clear) capabilities.

If you close and restart the Client, the external window location will remain what it was when you closed the Client.

You might want an external window simply to display more data, for example, data that is displayed in long lines. In the image below, which also shows the show as tooltip feature, the very long data is more fully displayed in the external Watch Window.

Placing the external window below the Client also means both the Client and the external window remain in view as you step through the source code, even as variable value changes cause the external Watch Window to pop up in front of the Client window.


The following subsection describes an additional tool for controlling the viewing of multiple windows.

Keeping external window(s) constantly on top 

With a proliferation of external windows on your PC desktop, it is sometimes useful to mark a window to remain at the top of the window stack (often called "pinning" a window). For example, you may want an external Web Buffer window to always be the "topmost" window, especially if you have large or multiple monitors.

You can "pin" an external window by simply right clicking its title bar, then selecting the Pin option from the context menu.


Alternatively, you can issue the Client pin command (Build 56). For example, to pin an external Web Buffer window, you issue the following command (from a UI mapping, the command line, a macro, or the clientCommand method):

pin web buffer 

The window identifier (web buffer, above) may be the title of any open external window, it may be a trailing-asterisk (*) wildcard pattern for any open external window, or it may be a single asterisk to pin all open external windows.

A pinned window displays a pin icon in the title bar in place of the product icon.


You can move pinned windows around on your screen, and close or minimize them as necessary. You can also remove their pinning by:

  • Selecting UnPin from the title bar context menu
  • Issuing an unPin command

Opening the Client and external window(s) simultaneously 

If you want an external window to open when the Client starts, the Preferences dialog box has options in the Open at Startup area to specify which Client areas (Watch Window, Audit Trail, Web Buffer, Execution Trace) you want to open as an external window when the Client starts.

See Also

Launching an external button bar