Prism 6.0 User's Guide

Changing Prism Defaults

As mentioned in the previous section, you can change the settings of many Prism resources either by using the Customize utility or by adding them to your X resource database. This section describes how to add a Prism resource to your X resource database.

An entry is of the form

resource-name: value

where resource-name is the name of the Prism resource, and value is the setting. Table 10-2 lists the Prism resources.

Table 10-2 Prism Resources

Resource 

Use 

Prism.comm1Color

Specifies the color of the first communicator displayed in the MPI queue visualizer. 

Prism.comm2Color

Specifies the color of the second communicator displayed in the MPI queue visualizer. 

Prism.comm3Color

Specifies the color of the third communicator displayed in the MPI queue visualizer. 

Prism.commOtherColor

Specifies the color of the fourth communicator displayed in the MPI queue visualizer. 

Prism.cppPath

Specifies the path to your C preprocessor. 

Prism.dialogColor

Specifies the color for dialog boxes. 

Prism.editGeometry

Specifies the size and placement of the editor window. 

Prism.editor

Specifies the editor to use. 

Prism.errorBell

Specifies whether the error bell is to ring. 

Prism.errorwin

Specifies the window to use for error messages. 

Prism*fontList

Specifies the font for labels, menu selections, etc. 

Prism.graphBGColor

Specifies the background color of all graphics windows, such as the structure browser, Where graph, and visualizer. 

Prism.graphFillColor

Specifies the interior fill color for objects in graphics windows that have 3-D shadow borders. 

Prism.helpBrowser

Specifies the browser to use for displaying help. 

Prism.helpUseExisting

Specifies whether to use a currently running browser for displaying help. 

Prism.mainColor

Specifies the main background color for Prism. 

Prism.make

Specifies the make utility to use.

Prism.markStaleData

Specifies how Prism is to mark stale data in visualizers. 

Prism.procMenu

Specifies whether a menu is displayed when setting a breakpoint in a Fortran 90 generic procedure. 

Prism.procThresh

Changes the maximum number of specific procedures automatically shown when performing an action on a Fortran 90 generic procedure. 

Prism.spectralMapSize

Specifies the size of the default spectral color map for color visualizers. 

Prism.textBgColor

Specifies the background color for widgets containing text. 

Prism.textFont

Specifies the text font to use for certain labels. 

Prism.textManyFieldTranslations

Specifies the keyboard translations for dialog boxes that contain several text fields. 

Prism.textMasterColor

Specifies the color used to highlight the master pane in a split source window. 

Prism.textOneFieldTranslations

Specifies the keyboard translations for dialog boxes that contain one text field. 

Prism.useXterm

Specifies whether to use a new Xterm for I/O. 

Prism.vizColormap

Specifies the colors to be used in colormap visualizers. 

Prism*XmText.fontList

Specifies the text font to use for most running text. 

Note that the defaults mentioned in the sections below are the defaults for Prism as shipped; your system administrator can change these in Prism's file in your system's app-defaults directory.

Note also that commands-only Prism is not aware of the settings of any Prism resources, unless they are contained in Prism's app-defaults file. This matters only for the resource Prism.cppPath.

Adding Prism Resources to the Resource Database

The X resource database keeps track of default settings for programs running under X. Use the xrdb program to add a Prism resource to this database. An easy way to do this is to use the -merge option and to specify the resource and its setting from the standard input. For example, the following command specifies a default editor (the resource is described below):

% xrdb -merge
 Prism.editor: emacs

Type Ctrl-d to signal that there is no more input. Note that you must include the -merge option; otherwise, what you type replaces the contents of your database. The new settings take effect the next time you start Prism.

Another way to add your changes is to put them in a file, then merge the file into the database. For example, if your changes are in prism.defs, you could issue this command:

% xrdb -merge prism.defs

Consult your X documentation for more information about xrdb.

Specifying the Editor and Its Placement

Use the Prism.editor resource to specify the editor that Prism is to invoke when you choose the Edit or Email selection from the Utilities menu (or issue the corresponding commands).

Use the resource Prism.editGeometry to specify the X geometry string for the editor created by the Edit selection from the Utilities menu. The geometry string specifies the number of columns and rows, and the left and right offsets from the corner of the screen.

You can also change the settings of these resources via the Customize utility; see " Using the Customize Utility" for more information.

Specifying the Window for Error Messages

Use the Prism.errorwin resource to specify the window to which Prism is to send error messages. Predefined values are command, dedicated, and snapshot. You can also specify your own name for the window.

You can also change the setting of this resource via the Customize utility; see " Using the Customize Utility".

Changing the Text Fonts

You may need to change the fonts Prism uses if, for example, its fonts aren't available on your system. Use the resources described below to do this. To list the names of the fonts available on your system, issue the Solaris xlsfonts command. You should try to substitute a font that is about the same size as the Prism default; substituting a font that is much larger can cause display problems, since Prism does not resize windows and buttons to accommodate the larger font.

Use the Prism.textFont resource to specify the font that Prism is to use in displaying the labels of histograms and text in visualizers. By default, Prism uses a 12-point fixed-width font for this text.

You can also change the setting of this resource via the Customize utility; see " Using the Customize Utility".

Use the Prism*XmText.fontList resource to change the font used to display most of the running text in Prism, such as the source code in the source window. By default, Prism uses a 12-point fixed-width font for this text.

Use the Prism*fontList resource to change the font used for everything else (for example, menu selections, pushbuttons, and list items). By default, Prism uses a 14-point Helvetica font for this text.

Changing Colors

Prism provides several resources for changing the default colors it uses when it is run on a color workstation.

Changing the Colors Used for Colormap Visualizers

Use the Prism.vizColormap resource to specify a file that contains the colors to be used in colormap visualizers. You can also change the setting of this resource via the Customize utility; see " Using the Customize Utility". See " Resources" for a discussion of how to create a visualizer color file.

Use the resource Prism.spectralMapSize to specify how large the default spectral color map is to be for colormap visualizers. The default is 100 entries. You would typically use this resource to specify fewer entries, if this number causes problems on your workstation. To set the default to 50, for example, set the resource in your X resource database as follows:

Prism.spectralMapSize: 50

Changing Prism's Standard Colors

Use the Prism.dialogColor resource to change the background color of dialog boxes.

Use the Prism.textBgColor resource to change the background color for text in buttons, dialog boxes, etc. Note that this setting overrides the setting of the X toolkit -bg option.

Use the Prism.textMasterColor resource to change the color used to highlight the master pane when the source window is split.

Use Prism.graphFillColor to specify the interior fill color for objects in graphics windows that have 3-D shadow borders.

Use Prism.graphBGColor to specify the background color of all graphics windows, such as the structure browser, where graph, and visualizer.

Use the Prism.mainColor resource to change the color used for just about everything else.

The defaults are:

Prism.dialogColor: Thistle
Prism.textBgColor: snow2
Prism.textMasterColor: black
Prism.graphFillColor: grey
Prism.graphBGColor: light grey
Prism.mainColor: light sea green

Changing the Colors of MPI Communicators in the MPI Queue Visualizer

Use the Prism.comm1Color resource to change the color of the first communicator displayed in the MPI queue visualizer.

Use the Prism.comm2Color resource to change the color of the second communicator displayed in the MPI queue visualizer.

Use the Prism.comm3Color resource to change the color of the third communicator displayed in the MPI queue visualizer.

Use the Prism.commOtherColor resource to change the color of the fourth communicator displayed in the MPI queue visualizer.

The defaults are:

Prism.comm1Color: chartreuse2
Prism.comm2Color: cyan2
Prism.comm3Color: magenta2
Prism.commOtherColor: purple

Changing Keyboard Translations

You can change the keys and key combinations that Prism translates into various actions. In general, doing this requires an understanding of X and Motif programming. You may be able to make some changes, however, by reading this section and studying the defaults in Prism's file in your system's app-defaults directory.

Changing Keyboard Translations in Text Widgets

Use the Prism.textOneFieldTranslations resource to change the default keyboard translations for dialog boxes that contain only one text field. Its default definition is:

Prism.textOneFieldTranslations: 
<Key>osfDelete: delete-previous-character() 
   <Key>osfBackSpace: delete-previous-character()
      Ctrl<Key>u: erase_to_beginning() 
      Ctrl<Key>k: erase_to_end() 
      Ctrl<Key>d: delete_char_at_cursor_position() 
      ctrl<Key>f: move_cursor_to_next_char() 
      Ctrl<Key>h: move_cursor_to_prev_char() 
      Ctrl<Key>b: move_cursor_to_prev_char() 
      Ctrl<Key>a: move_cursor_to_beginning_of_text()
      Ctrl<Key>e: move_cursor_to_end_of_text()

(The definitions with osf in them are special Motif keyboard symbols.)

Use the Prism.textManyFieldTranslations resource to change the default keyboard translations for dialog boxes that contain several text fields. Its default definition is:

Prism.textManyFieldTranslations:
   <Key>osfDelete: delete-previous-character() 
   <Key>osfBackSpace: delete-previous-character() 
   <Key>Return: next-tab-group() 
   <Key>KP_Enter: next-tab-group() 
     Ctrl<Key>u: erase_to_beginning() 
     Ctrl<Key>k: erase_to_end() 
     Ctrl<Key>d: delete_char_at_cursor_position() 
     Ctrl<Key>f: move_cursor_to_next_char() 
     Ctrl<Key>h: move_cursor_to_prev_char() 
     Ctrl<Key>b: move_cursor_to_prev_char() 
     Ctrl<Key>a: move_cursor_to_beginning_of_text() 
     Ctrl<Key>e: move_cursor_to_end_of_text()

If you make a change to any field in one of these resources, you must copy all the definitions.

Changing General Motif Keyboard Translations

Prism uses the standard Motif translations that define the general mappings of functions to keys. They are shown below.

*defaultVirtualBindings:
    osfActivate :    <Key>Return
    osfAddMode :     Shift <Key>F8 
    osfBackSpace :   <Key>BackSpace 
    osfBeginLine :   <Key>Home 
    osfClear :       <Key>Clear 
    osfDelete :      <Key>Delete 
    osfDown :        <Key>Down 
    osfEndLine :     <Key>End 
    osfCancel :      <Key>Escape 
    osfHelp :        <Key>F1 
    osfInsert :      <Key>Insert 
    osfLeft :        <Key>Left 
    osfMenu :        <Key>F4 
    osfMenuBar :     <Key>F10 
    osfPageDown :    <Key>Next 
    osfPageUp :      <Key>Prior 
    osfRight :       <Key>Right 
    osfSelect :      <Key>Select 
    osfUndo:         <Key>Undo 
    osfUp :           <Key>Up

To change any of these, you must edit its entry in this resource. For example, if your keyboard doesn't have an F10 key, you could edit the osfMenuBar line and substitute another function key.

Note these points in changing this resource:

Changing the Xterm to Use for I/O

By default, Prism creates a new Xterm for input to and output from a program. Set the Prism.useXterm resource to false to tell Prism not to do this. Instead, I/O will go to the Xterm from which you invoked Prism. You can also change the setting of this resource via the Customize utility; see " Using the Customize Utility".

Changing the Way Prism Signals an Error

By default, Prism flashes the command window when there is an error. Set the resource Prism.errorBell to true to tell Prism to ring the bell of your workstation instead. You can also change the setting of this resource via the Customize utility; see " Using the Customize Utility".

Changing the make Utility to Use

By default, Prism uses the standard Solaris make utility, /bin/make. Use the resource Prism.make to specify the path name of another version of make to use. You can also change the setting of this resource via the Customize utility; see " Using the Customize Utility".

Changing How Prism Treats Stale Data in Visualizers

By default, Prism prints diagonal lines over data in visualizers that has become "stale" because the program has continued execution from the spot where the data was collected. Set the resource Prism.markStaleData to false to tell Prism not to draw these diagonal lines. You can also change the setting of this resource via the Customize utility; see " Using the Customize Utility".

Specifying the Browser to Use for Displaying Help

There are several resources you can use to affect the way help is displayed.

By default, graphical Prism uses the Netscape browser to display help information; see " Using the Browser-based Help System". Set the Prism.helpBrowser resource to the executable name of another browser to start; the name must be on your path. Graphical Prism supports Mosaic and Netscape browsers. You can include in the setting any browser-specific options that you want passed to the browser when Prism starts it up. (Note that these options do not take effect if Prism uses an existing browser; see below.)

If you already have a browser running when you request help from Prism, by default Prism displays the help information in this browser. Set the resource Prism.helpUseExisting to false if you want Prism to start a new browser. Set it to true to return to the default behavior.

Changing the Way Prism Handles Fortran 90 Generic Procedures

There are two resources you can use to change the way Prism handles Fortran 90 generic procedures.

By default, Prism displays a menu (in commands-only Prism) or a dialog box when you attempt to set a breakpoint in a Fortran 90 generic procedure. Set the Prism resource Prism.procMenu to false to specify that Prism is to set the breakpoint in every one of these procedures, without displaying a menu or dialog box. You can also change the setting of this resource via the Customize utility; see " Using the Customize Utility".

By default, commands-only Prism displays a maximum of 22 procedures in a menu when you attempt to perform an action (like setting a breakpoint) on a Fortran 90 generic procedure. If there are more than this number of specific procedures, Prism asks you whether you want to specify the name of a specific procedure or to view a menu. Use the Prism.procThresh resource to specify a different maximum. Set the resource to 0 to specify that there is to be no maximum.