DECW1.

How do I let someone else display something on my workstation?

On a workstation, you go into Customize menu of the session manager utility and select Security. When the pop-up box appears, you can enter node/user/tranport to allow who can launch an application to the display on that workstation.
                                        [raspuzzi@mrlat.enet.dec.com]

Yah, but this doesn't seem to work with non-VMS systems. What do I put in for the transport? I tried TCPIP just for kicks, but it didn't work.

You need a checklist of sorts:

  1. Make sure that you've specified the X-windows "display" correctly on the remote side. For DECNET it's something like NODE::0.0, for TCP/IP it's Node.Domain:0.0, etc. On a unix system, define the DISPLAY environment variable:
                # setenv DISPLAY myvax.domain:0.0
    
  2. If you've verified (1) and things still aren't working, make sure the Security settings on the VMS side will allow the connection: Pull down the Options menu in the Session Manager, select Security... near the bottom. If you don't find your host (and username) listed on the left under Authorized Users, go to the right side of the menu and fill in the three fields, Node, Username, Transport. Then click on the Add button, then the Apply and OK buttons to add the new host to the security database.
  3. If things still aren't working, make sure the transport you want has been activated for DECwindows. This is a system manager job, but you can do the ground work yourself before bothering the sysmgr. Do the following:
    You should see something like:
       $ decw$server_transports == "DECNET,LOCAL,LAT,TCPIP"
    
    If the transport you want, e.g., TCPIP, isn't listed, have your system manager make the appropriate changes and restart DECwindows. If the file doesn't exist, the sysmgr will have to create it by copying the corresponding .TEMPLATE file to .COM and uncommenting the line that defines DECW$SERVER_TRANSPORTS.
If you want to use TCP/IP to connect, make sure TCP/IP is available on the VMS host. TCP/IP is not native to VMS. You need to be running either Compaq's TCP/IP or a 3rd party vendor's TCP/IP product. If you're not, none of the above will help.
                                    [Fairfield@Slac.Stanford.Edu]
There is a log file created in SYS$MANAGER which tells you which transports are loaded, and also tell you what connect attempts were rejected, including showing what the presented credentials were. This file is SYS$MANAGER:DECW$SERVER_0_ERROR.LOG, although the 0 could be another number if you have multiple servers on the workstation. I have found this file to be very useful for tracking down what needs to be put in the Session Manager Security entries.
                                    [rabinowitz@bear.com



DECW2.

How do I create a display on another workstation?

$ SET DISPLAY /CREATE /TRANSPORT=net_transport /NODE=remote_node
for LAT the command might look like this:
        $ SET DISPLAY /CREATE /TRANSPORT=LAT /NODE=REMOTE_NODE
for DECnet:
        $ SET DISPLAY /CREATE /TRANSPORT=DECNET /NODE=NODE
for TCP/IP
        $ SET DISPLAY /CREATE /TRANSPORT=TCPIP /NODE=128.12.4.122
Note that LAT is typically used for X terminals but can be used from OpenVMS to OpenVMS systems on OpenVMS Alpha V6.1 (if you have setup the X server to allow the LAT transport - check the docs). LAT will be supported on OpenVMS VAX as a transport for DECwindows in a future OpenVMS VAX release.
                                        [raspuzzi@mrlat.enet.dec.com]
There is a log file created in SYS$MANAGER which tells you which transports are loaded, and also tell you what connect attempts were rejected, including showing what the presented credentials were. This file is SYS$MANAGER:DECW$SERVER_0_ERROR.LOG, although the 0 could be another number if you have multiple servers on the workstation. I have found this file to be very useful for tracking down what needs to be put in the Session Manager Security entries.
                                        [rabinowitz@bear.com]



DECW3.

How can I get the information from SHOW DISPLAY into a symbol?

Use the undocumented SHOW DISPLAY/SYMBOL, and then reference the symbols DECW$DISPLAY_NODE, DECW$DISPLAY_SCREEN, DECW$DISPLAY_SERVER and/or DECW$DISPLAY_TRANSPORT.
                                        [Fairfield@Slac.Stanford.Edu]

An example of calling the underlying (and also undocumented) sys$qio programming interface for the WSDRIVER (WSAn:) is available at:
  http://www.openvms.compaq.com/freeware/srh_examples/DECUS_UNDOC_CLINIC/



DECW4.

How do I get a log of a DECterm session?

If you are working from a Decterm, you can use the AutoPrint feature. Choose the Printer... menu item from the Options menu, set the printing destination to the name of the file you want, and set Auto Print Mode.
You are now free to continue.

It should be noted that ALL the characters and escape sequences are captured, but if you display the log file on a DECterm you will get EXACTLY what you had.

                                        [fenster@star.enet.dec.com]



DECW5.

Problem - the DELETE key deletes forward instead of backward!

This has to do with Motif's virtual bindings. When a Motif application starts up, 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 VMS bindings.

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

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

					[Fred Kleinsorge]



DECW6.

Why is DECwindows Motif not starting?

First check to see if there is a graphics device, usually a G* device. (eg: On a DEC 2000 model 300, use the command SHOW DEVICE GQ) If you do not find a graphics device:
  1. OpenVMS has failed to find the appropriate IRQ information for an EISA graphics card (on the DEC 2000 series) such as the Compaq QVision, and did not autoconfigure it. Run the correct ECU (for Tru64 UNIX and OpenVMS) and reboot. This is necessary only on EISA-based systems.
  2. You have an EISA-based system (such as the DEC 2000 model 300) and do not have a Compaq QVision video card. This EISA graphics card should have Compaq printed on it, and identifies itself as a CPQ3011 or a CPQ3111. If it is not one of these two EISA devices, then OpenVMS does not support it. (There are no other supported EISA graphics controllers, and EISA graphics are normally used with DECwindows only on the DEC 2000 series systems.)
  3. You have a PCI-based system and do not have a supported graphics controller - examples of supported controllers include the See MGMT24 for information on some of these graphics controllers
  4. You have booted the system minimally, or have otherwise disabled the device autoconfiguration process.

If there is a G* graphics device present:

  1. There may have been a severe error in the DECwindows startup. Type the contents of SYS$MANAGER:DECW$SERVER_0_ERROR.LOG for any information on errors starting the server.
  2. The system parameter WINDOW_SYSTEM is not set to 1. This is a common way for system managers to disable the DECwindows server startup. If you really do not want a workstation system to bootstrap as and to represent itself as a workstation to DECwindows, add the following definition to SYLOGICALS.COM:
       
            $ DEFINE/SYSTEM/EXEC DECW$IGNORE_WORKSTATION TRUE
    
  3. You may not have a valid Motif license. To check for the Motif license, type the commands:
          LICENSE LIST DW-MOTIF/FULL 
          LICENSE LIST NET-APP-SUP*/FULL
    
    and examine the information displayed. Make sure that one of these licenses is present, valid and active.
Also see DECW14
					[Kleinsorge, Hoffman]



DECW7. Moved to SUPP7



DECW8. Moved to SUPP8



DECW9.

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 <Esc>]21;text label<Esc>\
To set the icon label, send <Esc>]2L;text label<Esc>\

To set both the DECterm title and icon to the full device name:

$  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 MISC2.



DECW10.

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 or Compaq logo), various keymaps, the FileView defaults, session manager defaults, the DECwindows login processing, DECwindows log file processing, and various other DECwindows attributes, see the example file:

  SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE
This example template file is typically copied over to the filename SYS$COMMON:[SYS$STARTUP]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 prefered 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$STARTUP: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.

 
                                        [Stephen Hoffman]



DECW11.

Why doesn't XtAppAddInput() work on OpenVMS?

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 );
        ...
                                        [Steve Hoffman]



DECW12.

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 the "dead rodent" mode. press: [CTRL][SHIFT][F3]



DECW13.

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 ALPHA7 or VAX10.

Also see the console message window application available with recent DECwindows versions - recent 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 VAX9 and SUPP3, as well as DCL4.



DECW14.

%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
  1. Ensure that the SYSGEN parameter WINDOW_SYSTEM is set to 1:
        $ MCR SYSGEN SHOW WINDOW_SYSTEM
    
    If it is not set to a value of 1, issue the commands:
        $ MCR SYSGEN
        SYSGEN> USE CURRENT
        SYSGEN> SET WINDOW_SYSTEM 1
        SYSGEN> WRITE ACTIVE
        SYSGEN> WRITE CURRENT
        SYSGEN> EXIT
        $ REBOOT
    
    
  2. Check the SYSMAN IO PREFIX LIST to ensure that the DECW$ prefix is included in the existing list. If it is not, you will need to add it:
        $ MCR SYSMAN
        SYSMAN> IO SHOW PREFIX
        SYSMAN> IO SET PREFIX=(DECW$,*)   * = list returned by the show command
        SYSMAN> IO AUTO/LOG
        SYSMAN> EXIT
    
    
  3. Ensure that the image SYS$SHARE:DECW$ICBM.EXE is installed in memory. If it is not installed, then install it:
        $ INSTALL LIST/FULL SYS$SHARE:DECW$ICBM
    
        $ INSTALL REPLACE SYS$SHARE:DECW$ICBM
    
        $ EDIT SYS$MANAGER:SYCONFIG.COM
    
          $! The following line was added to install
          $! support for the Mach64 Graphics Card
          $!
          $ INSTALL REPLACE SYS$SHARE:DECW$ICBM
          $ ^Z
    
        $ SHUTDOWN
    
    REBOOT the system.

  4. If the system still complains that NO GRAPHICS DEVICES COULD BE FOUND then: EXAMPLE:
         $ create SYS$COMMON:[SYSMGR]DECW$USER_AUTOCONFIG.DAT
           CLEAR_PFLAG = ISA_4BYTE
           ^Z
    
         $ SET FILE/PROTECTION=(W:RE) SYS$COMMON:[SYSMGR]DECW$USER_AUTOCONFIG.DAT
         $ REBOOT
    
Also see DECW6
					[Kleinsorge, Hoffman]



DECW15.

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.



DECW16.

How can I alter the DECwindows CDE backdrop?

To select a separate backdrop to be displayed on each screen using DECwindows CDE:
  1. Click on the Appliction Manager.
    This is the drawer icon on the CDE toolbar.
  2. Click on Desktop Tools
  3. Click on Set Default Screen and select the required screen
  4. Click on the Style Manager.
    This is the one containing the mouse and ttt on the CDE toolbar
  5. Now change the background.
                                             [Geoff Kingsmill]



DECW17.

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


Next Back