[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:
# setenv DISPLAY myvax.domain:0.0
$ 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.
[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
$ SET DISPLAY /CREATE /TRANSPORT=net_transport /NODE=remote_nodefor 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]
[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/
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]
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 |
$ xrdb :== $decw$utils:xrdb.exe
$ xrdb -nocpp -merge decw$xdefaults.dat
[Fred Kleinsorge]
SHOW DEVICE GQ) If you
do not find a graphics device:
If there is a G* graphics device present:
$ DEFINE/SYSTEM/EXEC DECW$IGNORE_WORKSTATION TRUE
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.
[Kleinsorge, Hoffman]
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.
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.TEMPLATEThis 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]
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]
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/DISABLEAlso see VAX9 and SUPP3, as well as DCL4.
%DECW-W-NODEVICE, No graphics device found on this system -DECW-I-NODECW, DECwindows graphics drivers will not be loaded
$ 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
$ MCR SYSMAN
SYSMAN> IO SHOW PREFIX
SYSMAN> IO SET PREFIX=(DECW$,*) * = list returned by the show command
SYSMAN> IO AUTO/LOG
SYSMAN> EXIT
$ 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.
$ SYS$COMMON:[SYSMGR]DECW$USER_AUTOCONFIG.DAT (W:RE)
CLEAR_PFLAG = ISA_4BYTE
$ 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
[Kleinsorge, Hoffman]
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.
[Geoff Kingsmill]
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 |