﻿# System Messages Window

To open the System Messages window, position the cursor anywhere in the A-Shell window except on a GUI control and press Ctrl+Shift+Double-Click. The _A-Shell Developer Control Operations_ window will open, offering the following buttons:

(./images/ashref_img11.png)

**Dump Control Info to Spreadsheet **outputs a list detailing all the current application-created controls in CSV format. This is mainly useful as an independent way (outside of looking at the application source code) of examining the attributes of the controls that aren't readily visible (bit flags, click codes, etc.) 

**Dump Menu Info to Spreadsheet** is like the previous option but for the application-added menu items.

**Change Text Attributes **leads to a dialog allowing you to alter some attributes of the standard text used by PRINT statements. This is mostly useful for experimenting with approaches to systematically converting screens from text to GUI.

**System Message Window** opens the System Message Window_. _See below for additional options once this window is open.

**Print/Preview XTREE** outputs the currently active XTREE (if applicable) to a variation of the [APEX](apex.md) preview/print utility, allowing the entire contents of the tree (not just the visible part) to be printed.

**A-Shell System Messages Window**

Right click on the window to get a context menu of options:

(./images/ashref_img12.png)

•	Use the _Properties_ dialog to enable/disable the display of system trace messages

•	Activating a checkbox option in the _Properties_ dialog is equivalent to turning on the TRACE of the same name (either in miame.ini or via the SET command).

•	Any enabled system TRACE option will result in the corresponding messages appearing in the ashlog.log file, and, while the _System Messages_ window is open, in that window as well.

•	Unchecking the _Show System Traces_ option leaves the checked traces in effect (so they output to the ashlog.log) but stops them from going to the _System Messages_ window. This might be useful in cases where you want to concentrate just on trace messages explicitly output from your application via TRACE.PRINT or DEBUG.PRINT statements.

•	Closing the _System Messages_ window does not deactivate any of the currently enabled traces; they continue outputting to the ashlog.log file. 

•	Clipboard operations: You can select/unselect individual lines in the _System Messages_ window by clicking on them, or by using the _Select All_ option from the context menu to select them all. Use the _Copy_ option from the context menu to copy the selected lines to the clipboard. (From there, they can be pasted into other text editors, such as notepad or an email editor.) Since there are no integrated search or editing features, the recommend procedure for such is to select the desired lines (or all), copy to the clipboard, then paste into Notepad or your text editor of choice for further searching and editing.

•	The _Dump Font Cache_ option on the context menu outputs details about all the fonts currently used by A-Shell

•	The _Set Debug Mode_ option on the context menu is equivalent to the dot prompt command SET DEBUG. Since the DEBUG switch often results in a considerable volume of trace messages, the ability to turn it on and off in the middle of a program is often very useful for obtaining debugging information without being overwhelmed by it.

•	Note that for some timing-dependent GUI operations, turning on the _System Messages_ window can sometimes affect the timing to the extent that the issue you are trying to track may actually change or disappear. In such a case, minimizing the message window may help; otherwise, closing it entirely (and then extracting the messages later from the ashlog.log) may be the only option.

•	Abort Application Program provides an alternative way to send an abort signal (^C) to the application program in cases where the keyboard may be locked or not responsive.

**See Also**

•	[Using the Message Window](messagewindow.md)

**History**

2023 September, A-Shell 6.5.1744:  Add the EXEC trace option to the System Messages Window properties dialog. Previously this was only settable via the SET command or the TRACE directive in the MIAME.INI. When set, each command-level command (RUN, CMD/DO, LIT) is traced..

2023 January, A-Shell 6.5.1724:  Add context menu option to send ^C to the application.

2014 October, A-Shell 6.1.1384:  Add _View A-Shell Log File_ to the _A-Shell Developer Control Operations_ dialog and rename the dialog to Developer Control Operations.