The OpenVMS Frequently Asked Questions (FAQ)


Previous Contents Index

11.6 How do I set the title on a DECterm window?

If you are creating a new DECterm window, check


$ HELP CREATE /TERMINAL /WINDOW_ATTRIBUTES 

If you want to change the title of an existing window, use the following control sequences, where [esc] is the ANSI escape code, value decimal 27, and "text label" is what you want to display:

To set the DECterm title, send the escape character, then the characters "]21;", then the text label string, and then an escape character followed by a backslash character.

To set the icon label, send the escape character, then the characters "]2L;", then the icon label string, and then an escape character followed by a backslash character.

To set both the DECterm title and icon to the full device name, you can use the following DCL commands:


$  esc[0,7] = 27 
$  fulldevnam = F$Edit(F$GetDVI("TT","FULLDEVNAM"),"UPCASE,COLLAPSE") 
$  write sys$output esc+ "]21;" + fulldevnam + esc + "\" 
$  write sys$output esc+ "]2L;" + fulldevnam + esc + "\" 

You can also change the title and the icon using the Options-Window... menu.

Also see Section 12.1 and Section 8.13.

11.7 How do I customize DECwindows, including the login screen?

To customize various DECwindows Motif characteristics including the defaults used by the SET DISPLAY command, the DECwindows login screen background logo used (the default is the DIGITAL, Compaq, or HP logo), various keymaps (also see Section 11.7.2 and Section 11.7.1), the FileView defaults, session manager defaults, the DECwindows login processing, DECwindows log file processing, and various other DECwindows attributes, see the example file:


$ SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATE 

This example template file is typically copied over to the filename SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_SETUP.COM and then modified to meet site-specific requirements.

Additionally, various X tools such as xsetroot, bitmap and xrdb---some these can be useful in customizing the appearance of an application or of the DECwindows Motif display---are provided in the DECW$UTILS: area.

When using DECwindows V1.2-4 and later on OpenVMS Alpha, the default desktop is the Common Desktop Environment (CDE). You can select your preferred desktop (CDE or DECwindows Motif) when logging in, or you can change the default to the DECwindows Motif desktop using the DCL symbol decw$start_new_desktop in the DECwindows private application setup command procedure. See SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATE for further details, and how to create DECW$PRIVATE_APPS_SETUP.COM.

Note that with DECwindows CDE, the root window is no longer visible by default. The root window is hidden behind the "backdrop" window of the current CDE workspace. To make the root window visible, use the CDE style manager selection "backdrop none", and use information such as that in the OpenVMS FAQ to set the root window.

To add a new backdrop to the DECwindows CDE environment, the backdrop must first be in or be converted into X11 pixmap format. (This conversion is often possible using tools such as xv.) Then (if necessary) create the default backdrop directory SYS$COMMON:[CDE$DEFAULTS.USER.BACKDROPS]. Place the X11 pixmap file containing the desired image into the backdrops directory, ensure that it has a filename extension of .PM. (The xv default filename extension for the X11 pixmap file is .XPM, while CDE expects only to see files with .PM.) Now invoke the CDE style manager and select a new backdrop. You will find your image will be placed at the end of the list of backdrops available.

If you require a message be included on the initial display---where the start session display and the logo appears---you can use either of the following approaches:

The login logo is stored as an XPM bitmap image in the text file SYS$SYSROOT:[SYSCOMMON.CDE$DEFAULTS.SYSTEM.APPCONFIG.ICONS.C]DECDTLOGO.P M, and it can be changed. Copy the file to SYS$SYSROOT:[SYSCOMMON.CDE$DEFAULTS.USER.APPCONFIG.ICONS.C]DECDTLOGO.PM, as DECwindows upgrades can replace the system version of this file.

On DECwindows V1.3-1 and later (and possibly on V1.3), both DECwindows CDE and DECwindows Motif displays use this logo file. On older releases, only the DECwindows CDE displays used this logo file, while the logo used for the Motif login display was hard-coded into the package and the only available override is the DECW$LOGINLOGO command procedure mechanism within the customized, site-specific DECW$PRIVATE_APPS_SETUP.COM file.

Look at the contents of the DECDTLOGO.PM file and at other *.XPM files and tools for additional details.

11.7.1 How do I customize DECwindows keymapping?

Various keymaps can be implemented on OpenVMS and other X Windows systems, allowing the implementation of a Dvorak-style or other alternate keymappings. For details, see the available X Windows documentation (this is the documentation associated with X Windows itself, and not the product documentation for the OpenVMS operating system nor for the DECwindows X Windows implementation) and see the DECwindows *.DECW$KEYMAP (text-format) files found in the DECwindows DECW$KEYMAP: directory.

For other keymapping information, see Section 11.7.2.

11.7.2 Why does the DELETE key delete forward instead of backward?

Some operating systems use [Ctrl/H] as [Delete]; as the character back-delete key. Most OpenVMS applications, VT-series terminals (check the terminal settings, many can have this configured within the terminal set-up menus), and DECterm terminals all use [Delete] as the character back-delete, and use [Ctrl/H] as a request to move to the beginning of the command line.

The Integrity EFI console does use [Ctrl/H] as [Delete]; as the character back-delete key.

Also see the SET TERMINAL/BACKSPACE command available on OpenVMS V8.2 and later.

This behaviour involves the Motif virtual key bindings. When a Motif application starts, it looks at the vendor string returned in the display connection information and attempts to match the string to a table of virtual bindings.

You can override the default bindings in your decw$xdefaults.dat file. Here is the entry you would make to get the default OpenVMS bindings.


*defaultVirtualBindings:\
 osfCancel :  [F11] \n\
 osfLeft :  [Left] \n\
 osfUp  :  [Up] \n\
 osfRight :  [Right] \n\
 osfDown :  [Down] \n\
 osfEndLine :Alt  [Right] \n\
 osfBeginLine :Alt  [Left] \n\
 osfPageUp :  [Prior] \n\
 osfPageDown :  [Next] \n\
 osfDelete :Shift  [Delete] \n\
 osfUndo :Alt  [Delete] \n\
 osfBackSpace :  [Delete] \n\
 osfAddMode :Shift  [F8] \n\
 osfHelp :  [Help] \n\
 osfMenu :  [F4] \n\
 osfMenuBar :  [F10] \n\
 osfSelect :  [Select] \n\
 osfActivate :  [KP]_Enter \n\
 osfCopy :Shift  [DRemove] \n\
 osfCut  :  [DRemove] \n\
 osfPaste :  [Insert]

To merge:


$ xrdb :== $decw$utils:xrdb.exe 
$ xrdb -nocpp -merge decw$xdefaults.dat 

Also note that the DECW$UTILS:DECW$DEFINE_UTILS.COM procedure can be used to establish the xrdb and other symbols.

Also see the DECxterm directory of Freeware V5.0 for details on connecting to OpenVMS from various UNIX platforms.

For other keymapping information, see Section 11.7.1.

11.8 Why doesn't XtAppAddInput() work on OpenVMS?

Yes, XtAppAddInput() does work on OpenVMS. The MIT definition of the X Windows call XtAppAddInput() includes platform-specific arguments.

On platforms where C is the typically the primary programming language for the platform, the file descriptor mask is one of the arguments to the XtAppAddInput() call.

On OpenVMS, the platform-specific arguments to this call include an event flag and an IOSB, as these are the traditional OpenVMS constructs used to synchronize the completion of asynchronous operations. While it would be easier to port non-OpenVMS C code that calls XtAppAddInput() over to OpenVMS if the arguments included the C file descriptor, this would make the call unusable from other OpenVMS languages, and would make it extremely difficult to use OpenVMS features such as ASTs and sys$qio calls.

One restriction on the event flag: the event flag chosen must be from event flag cluster zero. When using the traditional lib$get_ef and lib$free_ef calls to allocate and deallocate event flags, you must first explicitly call lib$free_ef to free up some event flags in event flag cluster zero. Please see the event flag documentation for specific details on these calls and for specific event flags that can be freed in event flag cluster zero.

Here is some example code that covers calling this routine on OpenVMS:


    m->InputID = XtAppAddInput( 
        m->AppCtx, 
        m->InputEF, 
        m->InputIosb, 
        the_callback, 1 ); 
    if ( !((int) m->InputID )) 
        { 
        XtAppErrorMsg( 
            m->AppCtx, 
            "invalidDevice", 
            "XtAppAddInput", 
            "XtToolkitError", 
            "Can't Access Device", 
            (String *) NULL, 
            (Cardinal *) NULL ); 
        ... 

11.9 Why do the keyboard arrow keys move the DECwindows cursor?

Congratulations, you have just stumbled into "dead rodent" mode. This DECwindows environment---where the keyboard arrow keys move the mouse cursor and where the [SELECT], [PREV], and [NEXT] keys emulate the three mouse buttons---allows rudimentary system operations when the mouse is among the casualties.

To enter or exit "dead rodent" mode, enter the following: [CTRL/SHIFT/F3]

11.10 Why does half my DECwindows display blank?

This is likely a result of receiving an OPCOM or other console message on a system that shares the system console with the DECwindows graphics workstation display.

You can toggle off the console display window using [CTRL/F2] and you can enable a serial console per Section 14.3.6 or Section 14.3.3.3.

Also see the console message window application available with recent DECwindows versions---DECwindows versions V1.2-3 and later will enable this window by default. For details on this console message window, see the DECW$CONSOLE_SELECTION option in SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE.

On older releases, you can disable output using the following:


$ SET TERMINAL/PERMANENT/NOBROADCAST OPA0: 
$ DEFINE/USER SYS$COMMAND OPA0: 
$ REPLY/DISABLE 

Also see Section 14.3.3.2, Section 14.17, and Also see Section 8.4,

11.11 %DECW-W-NODEVICE, No graphics device found on this system?

To resolve the following error:


%DECW-W-NODEVICE, No graphics device found on this system 
-DECW-I-NODECW, DECwindows graphics drivers will not be loaded 

Also see Section 11.5.

11.12 How can I reset the warning bell volume?

With DECwindows CDE drivers and ECOs starting with ECOs for the DECwindows keyboard driver SYS$IKBDRIVER.EXE in OpenVMS Alpha V7.1-2 and V7.2-1 and with the SYS$IKBDRIVER.EXE included in OpenVMS V7.2-1H1 and later, the DECwindows CDE controls will now correctly manage the setting of the warning bell volume.

Unfortunately, the equivalent controls in the older DECwindows Motif interface are not compatible and can no longer manage the warning bell volume.

If you need to manage the volume with DECwindows Motif, consider using the following approach:


$ @decw$utils:decw$define_utils 
$ xset b 1 100 100 

The numerics are the volume, pitch, and duration, respectively.

Why? When OpenVMS first started supporting the PC-style keyboards, the X Windows Server and the keyboard driver interface did not support the pitch and duration, and neither did DECwindows Motif. The DECwindows keyboard driver was accordingly changed to use the volume from the keyclick setting (keyclick is not available in a PC-style keyboard) and the bell volume setting to control the pitch and duration.

DECwindows CDE does provide sliders for setting pitch and duration, so the keyboard driver and X Windows Server were modified to provide all of the information, and now the DECwindows CDE sliders work. This change is unfortunately incompatible with the old scheme used on the pre-CDE desktops, and the volume controls are now incompatible with the current keyboard drivers. Hence the use of xset.

11.13 How can I alter the DECwindows CDE backdrop?

To select a separate backdrop to be displayed on each screen using DECwindows CDE:

11.14 How can I enable the DECwindows TCP/IP Transport

To configure the TCP/IP transport for DECwindows, first ensure that a TCP/IP package is installed and configured. Then set the DCL symbol DECW$SERVER_TRANSPORTS in SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.COM to the appropriate local value, based on the comments in that file. If you do not have a copy of SYS$STARTUP:DECW$PRIVATE_SERVER_SETUP.COM, the use the following COPY command to create this file based on the provided template file:


$ COPY SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.TEMPLATE - 
$_ SYS$COMMON:[SYSMGR]DECW$PRIVATE_SERVER_SETUP.COM 

11.15 Can I use DECwindows 1.2-* on OpenVMS V7.3-2 or later?

The short answer is no.

OpenVMS Alpha V7.3-2 only supports DECwindows Motif V1.3 and later. If you require DECwindows V1.2-6 or earlier, then you are limited to operations on OpenVMS Alpha V7.3-1 and earlier releases.

The central technical reason involves depdendencies among the parts of the X11 subsystem that are delivered with the base OpenVMS operating system including the X Windows display server and the transport images, and the parts of the DECwindows product that are delivered within the DECwindows installation kits including the client libraries and the DECwindows applications.

DECwindows V1.3 and later made substantial changes to the transport layer, and these required corresponding changes to both the associated client and server code. OpenVMS Alpha V7.3-2 includes the server and transport with the V1.3 modifications. These changes were in support of the upgrade of Xlib from X11R5 to X11R6.6, and transport-level changes associated with support of the Kerberos and LBX features.

If you attempt to load DECwindows V1.2-6 images onto an OpenVMS Alpha V7.3-2 or later system, the DECwindows libraries will not function with with system images and will particularly not function with the transport layer.

11.16 How to add Fonts into DECwindows?

The following assumes DECwindows V1.3-1 and OpenVMS Alpha V7.3-2 and later unless stated otherwise, and can permit fonts of various formats to be added into the DECwindows environment.

The recommended location for user font files is to place them in the directories which are reserved for this purpose, typically located below the SYS$COMMON:[SYSFONT.DECW] directory.


SYS$COMMON:[SYSFONT.DECW.USER_100DPI] 
SYS$COMMON:[SYSFONT.DECW.USER_75DPI] 

The above are recommended for PCF files of 100 Dots Per Inch (DPI) and of 75 DPI resolution, respectively.


SYS$COMMON:[SYSFONT.DECW.USER_COMMON] 

The above is recommended for other PCF files, such as terminal (character cell) fonts, and fonts used by specific applications.


SYS$COMMON:[SYSFONT.DECW.USER_CURSOR16] 
SYS$COMMON:[SYSFONT.DECW.USER_CURSOR32] 

The above are recommended for cursors.


SYS$COMMON:[SYSFONT.DECW.USER_SPEEDO] 

SPEEDO is recommended for SPD files.


SYS$COMMON:[SYSFONT.DECW.USER_TRUETYPE] 

USER_TRUETYPE is recommended for TrueType (TTF) fonts. Fonts placed in this directory should be in the "Windows / Linux" format.

The directory will contain the font files themselves, and a data file that describes each font in the directory. This file is named DECW$FONT_DIRECTORY.DAT or DECW$FONT_DIRECTORY_extension.DAT, where "extension" is replaced by the type of font (100DPI, SPEEDO, TRUETYPE, TYPE1, etc.)

Make sure that the file protection on the font files is set to allow world access to the fonts.

For example: to add TrueType fonts to DECwindows, place the font files in SYS$COMMON:[SYSFONT.DECW.USER_TRUETYPE]

A directory listing might look like this:


Directory SYS$COMMON:[SYSFONT.DECW.USER_TRUETYPE] 
 
 
ARKOI8N.TTF;1                            46KB/48KB        5-MAR-1995 04:00:00.00 
backstage.ttf;1                          55KB/56KB       19-JUL-2004 09:42:20.92 
IDAutomationHC39M_Free.ttf;1             27KB/32KB       29-JUL-2003 11:25:48.00 
... 
texsi.ttf;1                             133KB/136KB      25-MAY-2003 15:31:11.00 
texw.ttf;1                              150KB/152KB      25-MAY-2003 15:32:33.00 
 
Total of 37 files, 3.09MB/3.23MB 

The case of the filename is not important.

TrueType fonts should be in Stream_LF file format.

To generate the appropriate DECW$FONT_DIRECTORY.DAT file for most font formats, issue the command:


$ FONTCOMPILER /DIRECTORY 

The above may or may not operate with TrueType files, and you will likely have to generate the DECW$FONT_DIRECTORY_TRUETYPE.DAT file manually. A sample file follows:


37 
BACKSTAGE.ttf -Grfonts-Backstage-bold-r-normal--0-0-0-0-p-0-iso8859-1 
IDAutomationHC39M_Free.ttf -IDAutomation-HC39M-medium-r-normal--0-0-0-0-m-0-misc-Barcode39 
SUSESerif-Bold.ttf -Suse-Suse-bold-r-normal--0-0-0-0-p-0-iso8859-1 
SUSESerif-Roman.ttf -Suse-Suse-medium-r-normal--0-0-0-0-p-0-iso8859-1 
SUSESans-Bold.ttf -Suse-Suse-bold-r-normal-sans-0-0-0-0-p-0-iso8859-1 
SUSESans-BoldOblique.ttf -Suse-Suse-bold-o-normal-sans-0-0-0-0-p-0-iso8859-1 
SUSESans-Oblique.ttf -Suse-Suse-medium-o-normal-sans-0-0-0-0-p-0-iso8859-1 
SUSESans-Roman.ttf -Suse-Suse-medium-r-normal-sans-0-0-0-0-p-0-iso8859-1 
SUSESansMono-Bold.ttf -Suse-Suse Mono-bold-r-normal-sans-0-0-0-0-m-0-iso8859-1 
... 
MCTIMEBI.TTF -UOregon-MAC C Times-bold-i-normal--0-0-0-0-p-0-macedonian-0 
MCTIMEI.TTF -UOregon-MAC C Times-medium-i-normal--0-0-0-0-p-0-macedonian-0 

The first line of this data file is the number of font file entries which follow. Each entry consists of the font file name, and a font description. There are fourteen fields in the description, separated by hyphens (dashes, "-"). Fields may contain embedded spaces. The fields are

The next step is to update the list of fonts known to DECwindows, using the xset utility.


$ mc decw$utils:xset fp rehash 

It is also possible to reset the font list to the default:


$ mc decw$utils:xset fp default 

This is useful if you need to recover from errors.

The Notepad utility, normally available through the "Applications" menu in Session Manager, is a convenient way to see if the font is available. Start the application, select "Options", then select "Font...". In the "Family (Foundry)" window, you will see the list of fonts available. User-added TrueType fonts will normally be at the end of this list. Select the desired font family, then select the Size (dpi) (which will always be 0(0) for TrueType fonts), and the various font options (Weight, Slant, Width, etc.) should appear in the next window. You should then be able to select the desired font and click [OK] or [Apply] to use it, or [Cancel] to exit without changing the font.


Previous Next Contents Index