win(1)

NAME
win - Terminal emulator

SYNOPSIS
win [-v] [-t name] [command [argument ...]] address

OPTIONS

-v  If the -v option is present, win prints its version number and date and exits.

-tname
    If the -t option is present, win uses +name as the final part of the tag name of its window.

DESCRIPTION
win must be able to connect to a running wily(1). win attaches to a window. If the -t option is present, the final part of the tag name is name. If command is present, the final part of the tag name is +command. Otherwise, the final part of the tag name is +win. The first part of the tag name is the current working directory.

win runs a program in a child process. The child process is the leader of a process group and is connected to win by a pseudo-terminal. If command is specified, the child process runs $SHELL -c 'command argument ...' otherwise it runs $SHELL -i If SHELL is not found in the environment, /bin/sh is used.

TERM=win is placed in the environment of the running program.

Output from the running command appears in the window. The point after the last output from the running command is known as the output point. Further output from the running command appears just before the output point. The output point is initially at the end of the window.

Normal wily editing commands work in the window. When a newline, interrupt character, or end-of-file character is created after the output point, the text between the output point and the last newline, interrupt character, or end-of-file character in the window (inclusive) is passed to the running program as input.

The interrupt character is control-C and the end-of-file character is control-D. The pseudo-terminal initially is configured so that these are recognized with their normal meanings.

The B2 commands beginning with the |, <, or > characters or an upper case letter are executed normally by wily. Other B2 are first terminated with a newline, if they are not already, and are then appended to the buffer (and thereafter passed to the running program).

RETURNS
win returns zero if it is able to successfully create the child process, otherwise it returns non-zero.

EXAMPLES
Run a terminal emulator within wily win

Run FTP within wily win ftp

Run rlogin within wily win -t host.domain rlogin -8 host.domain

SEE ALSO
wily(1) Tag(1) Man(1)

BUGS
win doesn't follow changes to the terminal attributes. In particular, there is no way to stop echoing or to change its concept of the interrupt and eof characters.

rlogin seems to need -8 and, annoyingly, sets echo and onlcr. The latter can be fixed in your .rcrc: if ( ~ $TERM win ) {
    stty -echo -onlcr }

win doesn't follow changes to the terminal attributes. In particular, there is no way to stop echoing or to change its concept of the interrupt and eof characters.

WEdestroy messages aren't yet passed by wily. Thus, Del and Delcol can delete the window yet leave win running.

There is a race condition; the user can press newline and then delete text before win has a chance to read it.

AUTHOR
win was originally written by Gary Capell (gary@cs.su.oz.au). Alan Watson (alan@oldp.nmsu.edu) rewrote it and added support for arguments, pseudo-terminals instead of pipes, and execution of certain B2 commands by wily. The pseudo-terminal support in 9term, written by Matty Farrow (matty@cs.su.oz.au), was a great help.