| Title: | DECWINDOWS 26-JAN-89 to 29-NOV-90 |
| Notice: | See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit |
| Moderator: | STAR::VATNE |
| Created: | Mon Oct 30 1989 |
| Last Modified: | Mon Dec 31 1990 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 3726 |
| Total number of notes: | 19516 |
In a DECterm window you have the option of displaying a 25th line for messages from the host. I want to continuously display the current default directory on this 25th line. It would be nice, but not necessary, to display the node name and device name as well. Can anyone share this information with me? Any help would be appreciated, Chuck
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 1907.1 | How about the title bar? | STAR::MFOLEY | Rebel Without a Clue | Wed Dec 13 1989 23:45 | 36 |
Why not put it in the Title Bar? Here's a command procedure
that works under VMS 5.3/DECwindows V2. I just @ the command
procedure passing a value for P1 and optionally for P2. This
also allows you to change the Icon name.
mike
SET_VT220.COM
-------------------------------------------------------------------
$ OSC[0,8] = 157
$ ST[0,8] = 156
$ Echo = "Write Sys$Output "
$!
$ If P1 .eqs. "ICON" then Echo OSC,"2L;",P2,ST
$ If P1 .eqs. "ICON1" then Echo OSC,"2L;",F$GetSYI("NodeName"),ST
$ If P1 .eqs. "BANNER" then Echo OSC,"21;",P2,ST
$ If P1 .eqs. "BANNER2" then Echo OSC,"21;Node: ", F$GetSYI("NodeName")," �",F$GetJPI("","PRCNAM"),"� (",F$GetJPI("","PID"),")",ST
$ If P1 .eqs. "BANNER3" then Echo OSC,"21;",F$GetSYI("NodeName"),"::",F$ENVIROMENT("DEFAULT"),""," (",F$GetJPI("","PRCNAM"),")",ST
$ If P1 .eqs. "BANNER4" then Echo OSC,"21;",F$GetSYI("NodeName"),"::",F$ENVIROMENT("DEFAULT"),"",ST
$!
$!---------------------------VWS Only-----------------------------------------
$!
$ If P1 .eqs. "SHRINKX" then Echo OSC,"22;",P2,";",P3,ST
$ If P1 .eqs. "SHRINK" then Echo OSC,"22;",P2,";",P3,ST
$ If P1 .eqs. "EXPAND" then Echo OSC,"23;",P2,";",P3,ST
$ If P1 .eqs. "MOVE_TERM" then Echo OSC,"24;",P2,ST
$ If P1 .eqs. "MOVE_ICON" then Echo OSC,"25;",P2,ST
$ If P1 .eqs. "PUSH" then Echo OSC,"29",ST
$ If P1 .eqs. "POP" then Echo OSC,"2A",ST
$ If P1 .eqs. "FONT" then Echo OSC,"2f;",P2,";",P3,";",P4,ST
$!----------------------------------------------------------------------------
$ Exit
| |||||
| 1907.2 | Here's how to set the status line | HANNAH::MESSENGER | Bob Messenger | Thu Dec 14 1989 13:26 | 12 |
Re: .0 Here's a quick and dirty command procedure to set the status line (25th line in a 24 line window) to the first parameter passed to the procedure: $ esc[0,8] = 27 $ write sys$output "''esc'[2$~''esc'[1$}''p1'''esc'[$}" Setting the title is probably more reliable, though, since some escape sequences will clear the status line. -- Bob | |||||
| 1907.3 | Digression | MELTIN::dick | Gvriel::Schoeller | Fri Dec 15 1989 13:20 | 5 |
f$getsyi("nodename") is only useful if you are in a cluster. You can also
use f$logical("sys$node") which will work anytime decnet is running (though
you do need to stip the colons).
Dick
| |||||
| 1907.4 | Nit | BOMBE::MOORE | BaN CaSe_sEnSiTiVe iDeNtIfIeRs! | Fri Dec 15 1989 20:26 | 5 |
re: f$getsyi("nodename") is only useful if you are in a cluster.
Actually, it's useful anytime the SYSGEN parameter SCSNODE is not
blank. VAXcluster member nodes are required to have this name filled
in, non-clustered systems have the option of setting it, or not.
| |||||
| 1907.5 | Beware of SCSNODE changes | DDIF::MUNYAN | Steve Munyan, ZK2-2/O23, DTN 381-2264 | Mon Dec 18 1989 08:56 | 15 |
If you change the value of SCSNODE be ready for your batch queues to
bomb out the next time you restart them. The error you get will say
something about the node being unreachable or something such.
If I remember there are two ways to correct the problem:
1) Rebuild the queue file (not desirable)
2) add a /ON qualifier to the batch init command.
Steve
Who hit this about 1 1/2 years ago.
Steve
| |||||
| 1907.6 | Clearing the status line? | FEATHR::BLUEJAY | Remember when people put thier names here? | Mon Dec 18 1989 13:10 | 10 |
Stoopid question about the escape sequence in .2 - >>> $ write sys$output "''esc'[2$~''esc'[1$}''p1'''esc'[$}" This sequence seems to just add to the status line; What's the sequence to clear it? Or let me overwrite what's already there? - Bluejay Adametz [I know, I know; I don't have a FM] | |||||
| 1907.7 | How to clear the previous status line | HANNAH::MESSENGER | Bob Messenger | Mon Dec 18 1989 14:17 | 34 |
Re: .6 >>> $ write sys$output "''esc'[2$~''esc'[1$}''p1'''esc'[$}" > >This sequence seems to just add to the status line; What's the >sequence to clear it? Or let me overwrite what's already there? Maybe I should explain the sequences I used. The <esc>[2$~ enables the host-writable status line, and <esc>[1$} selects the status line as the active display, i.e. it moves the cursor into the status line. Once the cursor is in the status line it acts more or less as if it were in a separate window, so you can use escape sequence to clear to end of line, cursor positioning, set or resets modes and graphic renditions, etc, and the cursor will still be in the status line. <esc>[$} puts the cursor back in the main display. To erase the status line and then write your text you could send a carriage return and a line feed before your text; this will put the cursor at the start of the status line and then scroll it (which will erase it, since the status line display is only 1 line high). $ esc[0,8] = 27 $ cr[0,8] = 13 $ lf[0,8] = 10 $ write sys$output "''esc'[2$~''esc'[1$}''cr'''lf'''p1'''esc'[$}" You could also rely on the terminal driver to send the carriage return and line feed for you, by writing this as two lines of output instead of one: $ esc[0,8] = 27 $ write sys$output "''esc'[2$~''esc'[1$}" $ write sys$output "''p1'''esc'[$}" -- Bob | |||||