| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 2328.1 | (.0 continued) | BOXTOP::SKI |  | Wed Feb 21 1990 16:18 | 25 | 
|  |     The com file below is what I've come up with so far, but it's far
    from being a traditional DECwindows menu, and still requires the
    user to bring up that first DECterm in order to run the com file.
    I already tried VWSLAT, but that's no better than what I have
    written below.  I want a "click on the node" menu.
----------------------------------------------------------------------------
$!!!!! HOST.COM !!!!!
$! Create a DECwindow with a 'set host' process in it, using any node
$! the user requests.  The node can be passed as P1, or can be prompted for.
$!
$ IF P1 .NES. "" THEN GOTO Have_Node
$ IF P1 .EQS. "" THEN INQUIRE/NOPUNCTUATION P1 "Set Host To Node: "
$ IF P1 .EQS. "" THEN EXIT
$ Have_Node:
$ Node := 'P1'
$ IF F$GETSYI("NODENAME") .NES. "BLOTTO"
$    THEN WRITE SYS$OUTPUT "You cannot do that from where you are."
$         WRITE SYS$OUTPUT "You have to be logged into BLOTTO using DECwindows."
$         EXIT
$ ENDIF
$ CREATE/TERMINAL/NOWAIT/BROADCAST -
    /WINDOW=(TITLE="Window to ''Node'",ICON="''Node'",INITIAL_STATE=WINDOW)-
    SET HOST 'Node'
 | 
| 2328.2 | rootmenu | WAIT::DESAI | Jatin Desai | Wed Feb 21 1990 16:48 | 4 | 
|  | 
Look at the ROOTMENU program in ELKTRA::DW_EXAMPLES.
Jatin
 | 
| 2328.3 | Use the Session Manager or FileView | TOOK::MERSHON | Ric - LAT/VMS Engineering | Thu Feb 22 1990 15:41 | 18 | 
|  | 
	You can do what you want to very easily by using
	Customize in the Session Manager to add some
	"Applications" which execute the CREATE /TERMINAL
	command.  Supply SET HOST as the command to
	CREATE /TERMINAL.  Create a few of these
	"Applications" and you could name each of these
	to be the remote node you are trying to access.
	Then when you want to connect to the node, you
	simply "select" the node from the Applications
	Menu.  It's that easy!
	Or, if you like FileView, write a VUE COM file
	to do the same thing for you.  There's information
	in the DECwindows User's Guide on how to do this.
	-ric.
 | 
| 2328.4 | Tried 'em lots of times....no go | MSBTEM::SKI |  | Fri Feb 23 1990 09:58 | 32 | 
|  |     RE: .3
>>>	You can do what you want to very easily by using
>>>	Customize in the Session Manager to add some
>>>	"Applications" which execute the CREATE /TERMINAL
>>>	command.  Supply SET HOST as the command to
>>>	CREATE /TERMINAL.  Create a few of these
>>>	"Applications" and you could name each of these
>>>	to be the remote node you are trying to access.
>>>	Then when you want to connect to the node, you
>>>	simply "select" the node from the Applications
>>>	Menu.  It's that easy!
    Nope.  Sorry Ric, but that doesn't work.  In fact, that was the first
    way I tried to do it (seemed the easiest way to me too).  This creates
    the terminal window for about 1 second, then it disappears.  I've also
    tried creating detached processes this way....same results.  I've also
    tried making the menu command call a COM file containing the commands,
    this didn't work either.  From the errors, it appears the problem is
    with the SYS$INPUT device that the new terminal window is using --
    gives the error "input device is not a terminal,"  this error appears
    to come from the SET HOST part of command/commmand-procedures.
    Does this work for you?  What versions of VMS and DECwindows are you
    using?  Mine are VMS V5.3-1 and DECwindows V2.
>>>	Or, if you like FileView, write a VUE COM file
>>>	to do the same thing for you.  There's information
>>>	in the DECwindows User's Guide on how to do this.
    COM files wouldn't do it for me either.  That is when I started
    writing my own program to do it.
 | 
| 2328.5 | CREATE /TERMINAL /WAIT | TOOK::MERSHON | Ric - LAT/VMS Engineering | Fri Feb 23 1990 11:02 | 7 | 
|  | 
	Sorry that I didn't point out that you must include the
	/WAIT qualifier to the CREATE /TERMINAL command.  This
	works fine for me!
	-ric.
 | 
| 2328.6 | Thank you | MSBIS1::SKI |  | Fri Feb 23 1990 12:04 | 38 | 
|  |     I made several more ditch efforts to get it to work from the
    session manager.  I found this to work (but it's not a pretty sight):
    MENU ITEM =
    	CADLIB
    MENU COMMAND =
    	CREATE/TERMINAL/DETACH/LOGGED_IN/INPUT=SYS$LOGIN:1.COM
    SYS$LOGIN:1.COM =
    	$ DEFINE SYS$COMMAND 'F$PROCESS()
    	$ SET HOST CADLIB
    The window gets created, then the SYLOGIN.COM is execute, giving many
    warning messages about the device not being a mailbox, then 1.COM is
    executed and the SET HOST session starts in the window.  Touch Down!
    Like I said, not a pretty sight, but it works.
----------
    I just read your last reply about including /WAIT in the menu command.
    Hey!  That works perfectly!  But why /WAIT and not /NOWAIT?
    HELP says this:
    CREATE
       /TERMINAL
          /WAIT
          /NOWAIT (default)
       Requires that you wait for the subprocess to terminate before you
       enter another DCL command. The /NOWAIT qualifier allows you to
       enter new commands while the subprocess is running. This qualifier
       is used only with /NODETACH.
    Even after seeing it work with my own eyes, no lightbulb has appeared
    over my head.  I'm confused but happy.
    Thank you for the help, Ric.
 | 
| 2328.7 | DCL command file to do this for any node. | SSDEVO::COX |  | Thu Apr 26 1990 18:45 | 51 | 
|  | I wrote a DCL command file to do this for any node.  The command file has 
comments that lead you through the setup for your own system.  Hope this helps.
$! Sethost.com						Tom Cox.
$! Command file to create a subprocess Decterm window.  
$! For VMS 5.3 (or higher) decWindows use.
$! Created  20-Mar-90 Tcox  
$! Modified 24-Mar-90 Tcox  Added node name parameter passing.
$! Modified 27-Mar-90 Tcox  Added process name appender.
$! Usage: 
$!    From DCL or the session manager execute this command file.  Pass as the
$!   P1 parameter the node name you wish to set host to.  The window icon and
$!   title will be given the node name with an underscore and integer appended
$!   starting at 1, which will form a unique process name.
$!    If you want the process to log into the remote node then place an 
$!   equivalent set of commands in your login.com similar to these:
$!!+------------------------------------------------------------------
$!!
$!!   $ if f$extract(0,6,process_name) .eqs. "COMET" 
$!!   $ then 
$!!   $ set host comet
$!!   username
$!!   password
$!!   $ logout
$!!   $ endif
$!!
$!!-------------------------------------------------------------------
$! Sethost.com
$!
$!   Force process name to be unique.
$ append_no = 0
$ save_process_name :="""''f$process()'"""
$ process_name :='p1'
$loop:
$ append_no = append_no + 1
$ if append_no .ne. 1 then process_name :='p1'_'append_no
$ on error then goto loop	!see if process already exists...by error. 
$ set process/name='process_name
$! no error, so fall through...otherwise goto loop and increment append_no
$ on error then exit		!reinstate error exit.
$ set process/name='save_process_name		  !restore sm process name.
$ create/terminal=Decterm                       - !create a terminal window
        /process='process_name			- !Decterm connection.
	/detach/logged				- !Detached/logged in.
	/application_keypad/insert		- !keyboard environment
	/little_font				- !display environment
	/nobroadcast				-
	/window_attribute=(			- !window
	 columns=80,				-
	 rows=40,				-
	 title='process_name', 			-
	 icon_name='process_name')
 | 
| 2328.8 | LATMASTER + DECserver emulator = Set Host menu | HKOVC::TERENCE | From Middlesex, UWO | Fri Apr 27 1990 01:14 | 4 | 
|  |     Install LATMASTER and use the DECserver emulator to set host/lat to the
    remote node.
    
    -Terry
 | 
| 2328.9 | Where is it? | BEBE::GALLEGOS |  | Fri Apr 27 1990 10:17 | 4 | 
|  | Where is the LATMASTER located at? Is it available on the net?
Thanks,
Robert
 | 
| 2328.10 | TOOK:: | HKOVC::TERENCE | From Middlesex, UWO | Sun Apr 29 1990 22:20 | 4 | 
|  |     Yes, it is available on the net. Check out conference TOOK::LATMASTER
    for detail.
    
    -Terry
 |