Color Customization

There are at least three ways to configure the color settings for an A-Shell application without modifying the application itself: First, you can edit the INI.CLR file (see Configuration for details.) Second, you can use the SET TERM FCOLOR # and SET TERM BCOLOR # commands within a startup command file to set the initial foreground and background colors. (For applications that are not "color-aware", either of these first two techniques will be effective.) The last method is to change the definition of the color palette itself (i.e. what actual colors are associated with the color numbers used at the application level.) Under A-Shell/Windows, this can be done via the Edit..Settings menu (which see, above.) Under A-Shell/UNIX, you would have to do it within your terminal emulation software. (ZTERM, for example, has a color redefinition capability similar to A-Shell’s.)

In September 2016, a user asked: "Why are A-Shell / ATE screen colors NOT set to the "natural defaults" shown in the colors settings?" And the answer is:

The .ash file is overriding the "natural defaults", which aren't so much "natural" as "original," dating back to the first color terminals used with AM systems.

The original scheme makes sense for programs and people still based in that 80's era. Trying to use a black background in programs with any GUI content at all—where the default text color is black—is a disaster. The gray is a kind of compromise for mixed GUI/text environments.

For better or worse, there is so much flexibility in the system, and so many parts, that I doubt anyone really understands it, even Herman, who has probably tried harder than anyone. We have the .ash file, which contains the RGB definitions of the color numbers, i.e. what you see in the Settings > Colors dialog; we have the TAB(-2,x) and TAB(-3,x) commands for changing the default fg/bg color index; we have the LIB:INI.CLR file which contains sets of color indices for various contexts like INFLD, VUE, etc.; we have the AG_COLOR command allowing you to redefine the RGB values programmatically; we have MX_WINSETTINGS allowing you to save/load .ash files; and we have the FGC/BGC fields in AUI_CONTROL.) It's great if you understand it all and know exactly what you want; otherwise it's a nearly impenetrable mess, begging for some kind of overall "scheme" choices ("Midnight", "Navajo", "Valentine", etc.) and an easy way for users to just choose one. But that's pretty much what selecting a new .ash file does.

So the "net advice" on the subject is this: if you have one or more color scheme you like, and a preferred default, use File > Save As to save it/them to an .ash file and then load and use them as desired.

See Also

•   Colors Menu