>  Docs Center  >  Libraries  >  Markwardt  >  STATUSLINE






  Craig B. Markwardt, NASA/GSFC Code 662, Greenbelt, MD 20770


  Maintain a one-line status line on a VT100-compatible terminal. (Unix)

Major Topics

  Text Output, Terminal.

Calling Sequence

  STATUSLINE, string, column, LENGTH=length, [/CLOSE,]
      [/CLEAR,] [/LEFT,] [/RIGHT,] [/QUIET,] [/ENABLE,] [/DISABLE]


  STATUSLINE maintains the current line of a VT100- or
  ANSI-compatible terminal, usually as a status line.
  Programs that run for extended periods of time can inform the user
  of the status of the computation by printing vital information.
  Instead of cluttering the console by using the PRINT procedure,
  which uses a new line with each call, STATUSLINE will re-use the
  same line. This can make a cleaner interface.
  STATUSLINE interacts directly with the Unix terminal device,
  sending VT100-compatible cursor commands. As a side effect it
  opens the terminal device /dev/tty and allocates a logical unit
  number. Picky programmers should call STATUSLINE, /CLOSE to close
  the file unit.
  Procedures that finish their computation, or wish to make normal
  output to the console should first clear the terminal line with
  STATUSLINE, /CLEAR. This will ensure that the console is
  uncluttered before printing.
  By default, STATUSLINE enables output for terminal types vt100,
  vtnnn, xterm, dec, or ansi. *No* output appears on other
  terminals. You can enable it explicitly by calling STATUSLINE,
  /ENABLE, and disable it by calling STATUSLINE, /DISABLE.


  STRING - A string to be placed on the current line.

Optional Inputs

  COLUMN - The starting column number, beginning with zero.
            Default: zero.

Input Keyword Parameters

  LENGTH - the record length, an integer. Strings longer than this
            length will be truncated.
            Default: strlen(STRING)
  CLEAR - if set, clear the current line to the end. Control
          returns immediately (i.e., no output is made).
  LEFT - if set, then left justify the string within the record.
          If the string is longer than the record length, then the
          leftmost portion of the string is printed.
          The Default (if /RIGHT is not given).
  RIGHT - if set, then right jusfity the string within the record.
          If the string is longer than the record length, then the
          rightmost portion of the string is printed.
  QUIET - if set, then no output is made (for this call only).
  NOCR - if set, no carriage return operation is performed after
          output. This also has the side effect that in subsequent
          calls, column "0" will not cause the cursor to move.
          Default: cursor returns to column 0 after each output.
  ENABLE - if set, then permanently enable output by STATUSLINE.
            Normally STATUSLINE automatically enables output only for
            vt100-compatible terminals. By setting /ENABLE, you
            override this automatic test. However, /QUIET will
            still override ENABLE in an individual call.
  DISABLE - if set, then permanently disable output by STATUSLINE.
            When disabled, no output is ever produced. Output can
            only be re-enabled again by using the /ENABLE flag.
  CLOSE - if set, instruct STATUSLINE to close the terminal device
          logical unit number. Users should perform this operation
          when the computation has finished so that the terminal
          device is not left dangling open. If, at a later time,
          STATUSLINE is called again, the terminal device will be



See Also

  PRINTLOG - to maintain transcript of IDL output

Modification History

  Written, CM, 1997-1998
  Documented, CM, Sep 1999
  Added NOCR keyword, CM, 28 Oct 1999
  Doesn't crash if can't write to TTY. Returns silently. CM, 16
    Nov 1999.
  Added PRINTLOG to "SEE ALSO", CM, 22 Jun 2000
  Keyword QUIET now causes earlier exit; catch errors in the CLEAR
    case, CM, 12 Oct 2001
  Allow variations on the "xterm" terminal type, CM, 26 Jun 2007

© 2020 Harris Geospatial Solutions, Inc. |  Legal
My Account    |    Store    |    Contact Us