[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

Terminals and Control Sequences?

» close window

The Question is:

 
With a dumb terminal (VT200-series) or a PC using Rumba terminal emulation
software, how can I (using escape codes) write to the host-writeable status
line of the display?  I have a menu system which goes into different
applications, and I need to issue a
 string of characters such as "Production System"
for the duration of the application.  When they return to the menu (written
in DCL) the status line should be deleted.
 
Many thanks.
 
 


The Answer is :

 
  The host system generally writes to the terminal to change the
  attributes, the terminal changes local attributes via the setup.
  In this case, software operating on the host must send the necessary
  control sequence to the terminal or terminal emulator to alter the
  requested settings.
 
  The following resets the DECterm label and icon, and the status line.
 
    $ esc[0,7] = 27
    $ write sys$output esc + "]21;" + "DECterm Label" + esc + "\"
    $ write sys$output esc + "]2L;" + "DECterm Icon" + esc + "\"
    $ write sys$output esc + "[1$}Status Line" + esc + "[0$}"
    $ exit
 
  The OpenVMS Wizard would recommend using SMG or similar, and not
  encoding the control sequences directly into the application.  The
  routine SMG$GET_TERM_DATA can be of interest, and can be used with
  or without using SMG to control the display, as this routine permits
  the retrieval of the required terminal control sequences in a
  device-independent fashion.
 
  Reliably resetting the display attributes and particularly the status
  line usually means the use of an exit handler -- see the sys$dclexh
  system service.  (Exit handlers operate when the image exits, save
  for those cases where the image is stopped (via STOP) "hard".)

answer written or last revised on ( 9-MAR-1999 )

» close window