diff options
Diffstat (limited to 'man/man1/9term.html')
-rw-r--r-- | man/man1/9term.html | 259 |
1 files changed, 259 insertions, 0 deletions
diff --git a/man/man1/9term.html b/man/man1/9term.html new file mode 100644 index 00000000..7d6a741f --- /dev/null +++ b/man/man1/9term.html @@ -0,0 +1,259 @@ +<head> +<title>9term(1) - Plan 9 from User Space</title> +<meta content="text/html; charset=utf-8" http-equiv=Content-Type> +</head> +<body bgcolor=#ffffff> +<table border=0 cellpadding=0 cellspacing=0 width=100%> +<tr height=10><td> +<tr><td width=20><td> +<tr><td width=20><td><b>9TERM(1)</b><td align=right><b>9TERM(1)</b> +<tr><td width=20><td colspan=2> + <br> +<p><font size=+1><b>NAME </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + 9term – terminal windows<br> + +</table> +<p><font size=+1><b>SYNOPSIS </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + <tt><font size=+1>9term</font></tt> [ <tt><font size=+1>−as</font></tt> ] [ <tt><font size=+1>−f</font></tt> <i>font</i> ] [ <i>cmd</i> ... ]<br> + +</table> +<p><font size=+1><b>DESCRIPTION </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + <i>9term</i> is a terminal window program for the X Window System, providing + an interface similar to that used on Plan 9.<br> + <p><font size=+1><b>Command </b></font><br> + The <i>9term</i> command starts a new window. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + The <tt><font size=+1>−a</font></tt> flag causes button 2 to send the selection immediately, + like acme. Otherwise button 2 brings up a menu, described below. + + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + The <tt><font size=+1>−s</font></tt> option initializes windows so that text scrolls; the default + is not to scroll. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + The <i>font</i> argument to <tt><font size=+1>−f</font></tt> names a font used to display text, both + in <i>9term</i>’s menus and as a default for any programs running in + its windows; it also establishes the environment variable <tt><font size=+1>$font</font></tt>. + If <tt><font size=+1>−f</font></tt> is not given, <i>9term</i> uses the imported value of <tt><font size=+1>$font</font></tt> if + set; otherwise it uses the graphics system default. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + <i>9term</i> runs the given command in the window, or <tt><font size=+1>$SHELL</font></tt> if no command + is given.<br> + <p><font size=+1><b>Text windows </b></font><br> + Characters typed on the keyboard collect in the window to form + a long, continuous document. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + There is always some <i>selected text</i>, a contiguous string marked + on the screen by reversing its color. If the selected text is + a null string, it is indicated by a hairline cursor between two + characters. The selected text may be edited by mousing and typing. + Text is selected by pointing and clicking button 1 to make a null- + string selection, or by pointing, then sweeping with button 1 + pressed. Text may also be selected by double-clicking: just inside + a matched delimiter-pair with one of <tt><font size=+1>{[(<`'"</font></tt> on the left and <tt><font size=+1>}])>`'"</font></tt> + on the right, it selects all text within the pair; at the beginning + or end of a line, it selects the line; within or at the + edge of an alphanumeric word, it selects the word. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Characters typed on the keyboard replace the selected text; if + this text is not empty, it is placed in a <i>snarf buffer</i> common + to all windows but distinct from that of <a href="../man1/sam.html"><i>sam</i>(1)</a>. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Programs access the text in the window at a single point maintained + automatically by <i>9term</i>. The <i>output point</i> is the location in the + text where the next character written by a program to the terminal + will appear; afterwards, the output point is the null string beyond + the new character. The output point is also the location + in the text of the next character that will be read (directly + from the text in the window, not from an intervening buffer) by + a program. Since Unix does not make it possible to know when a + program is reading the terminal, lines are sent as they are completed + (when the user types a newline character). + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + In general there is text in the window after the output point, + usually placed there by typing but occasionally by the editing + operations described below. A pending read of the terminal will + block until the text after the output point contains a newline, + whereupon the read may acquire the text, up to and including the + newline. After the read, as described above, the output point + will be at the beginning of the next line of text. In normal circumstances, + therefore, typed text is delivered to programs a line at a time. + Changes made by typing or editing before the text is read will + not be seen by the program reading it. Because of the + Unix issues mentioned above, a line of text is only editable until + it is completed with a newline character, or when hold mode (see + below) is enabled. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Even when there are newlines in the output text, <i>9term</i> will not + honor reads if the window is in <i>hold mode</i>, which is indicated + by a white cursor and blue text and border. The ESC character + toggles hold mode. Some programs automatically turn on hold mode + to simplify the editing of multi-line text; type ESC when done + to allow <i>mail</i> to read the text. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + An EOT character (control-D) behaves exactly like newline except + that it is not delivered to a program when read. Thus on an empty + line an EOT serves to deliver an end-of-file indication: the read + will return zero characters. The BS character (control-H) erases + the character before the selected text. The ETB character + (control-W) erases any nonalphanumeric characters, then the alphanumeric + word just before the selected text. ‘Alphanumeric’ here means + non-blanks and non-punctuation. The NAK character (control-U) + erases the text after the output point, and not yet read by a + program, but not more than one line. All these + characters are typed on the keyboard and hence replace the selected + text; for example, typing a BS with a word selected places the + word in the snarf buffer, removes it from the screen, and erases + the character before the word. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + An ACK character (control-F) or Insert character triggers file + name completion for the preceding string (see <a href="../man3/complete.html"><i>complete</i>(3)</a>). + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Text may be moved vertically within the window. A scroll bar on + the left of the window shows in its clear portion what fragment + of the total output text is visible on the screen, and in its + gray part what is above or below view; it measures characters, + not lines. Mousing inside the scroll bar moves text: clicking + button 1 + with the mouse pointing inside the scroll bar brings the line + at the top of the window to the cursor’s vertical location; button + 3 takes the line at the cursor to the top of the window; button + 2, treating the scroll bar as a ruler, jumps to the indicated + portion of the stored text. Holding a button pressed in the scroll + bar will + cause the text to scroll continuously until the button is released. + + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Typing down-arrow scrolls forward one third of a window, and up-arrow + scrolls back. Typing page-down scrolls forward two thirds of a + window, and page-up scrolls back. Typing Home scrolls to the top + of the window; typing End scrolls to the end. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + The DEL character sends an <tt><font size=+1>interrupt</font></tt> note to all processes in + the window’s process group. Unlike the other characters, the DEL + and arrow keys do not affect the selected text. The left (right) + arrow key moves the selection to one character before (after) + the current selection. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + <i>9term</i> relies on the kernel’s terminal processing to handle EOT + and DEL, so the terminal must be set up with EOT as the “eof” + character and DEL as the “intr” character. <i>9term</i> runs <a href="../man1/stty.html"><i>stty</i>(1)</a> + to establish this when the terminal is created. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Normally, written output to a window blocks when the text reaches + the end of the screen and the terminal buffer fills; a button + 2 menu item toggles scrolling. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + <i>9term</i> changes behavior according to the terminal settings of the + running programs. Most programs run with echo enabled. In this + mode, <i>9term</i> displays and allows editing of the input. Some programs, + typically those reading passwords, run with echo disabled. In + this mode, <i>9term</i> passes keystrokes through directly, + without echoing them or buffering until a newline character. These + heuristics work well in many cases, but there are a few common + ones where they fall short. First, programs using the GNU readline + library typically disable terminal echo and perform echoing themselves. + The most common example is the shell + <a href="../man1/bash.html"><i>bash</i>(1)</a>. Disabling the use of readline with “<tt><font size=+1>set +o emacs</font></tt>” [<i>sic</i>] + usually restores the desired behavior. Second, remote terminal + programs such as <a href="../man1/ssh.html"><i>ssh</i>(1)</a> typically run with echo disabled, relying + on the remote system to echo characters as desired. Plan 9’s <i>ssh</i> + has a <tt><font size=+1>−C</font></tt> flag to disable this, leaving the terminal in + “cooked” mode. For similar situations on Unix, <i>9term</i>’s button + 2 menu has an entry to toggle the forced use of cooked mode, despite + the terminal settings. In such cases, it is useful to run “<tt><font size=+1>stty + −echo</font></tt>” on the remote system to avoid seeing your input twice. + + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Editing operations are selected from a menu on button 2. The <tt><font size=+1>cut</font></tt> + operation deletes the selected text from the screen and puts it + in the snarf buffer; <tt><font size=+1>snarf</font></tt> copies the selected text to the buffer + without deleting it; <tt><font size=+1>paste</font></tt> replaces the selected text with the + contents of the buffer; and <tt><font size=+1>send</font></tt> copies the snarf buffer to + just after the output point, adding a final newline if missing. + <tt><font size=+1>Paste</font></tt> will sometimes and <tt><font size=+1>send</font></tt> will always place text after the + output point; the text so placed will behave exactly as described + above. Therefore when pasting text containing newlines after the + output point, it may be prudent to turn on hold mode first. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + The <tt><font size=+1>plumb</font></tt> menu item sends the contents of the selection (not the + snarf buffer) to the <i>plumber</i> (see <a href="../man1/plumb.html"><i>plumb</i>(1)</a>). If the selection + is empty, it sends the white-space-delimited text containing the + selection (typing cursor). A typical use of this feature is to + tell the editor to find the source of an error by plumbing the + file and + line information in a compiler’s diagnostic. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Each <i>9term</i> listens for connections on a Unix socket. When a client + connects, the <i>9term</i> writes the window contents to the client and + then hangs up. <i>9term</i> installs the name of this socket in the environment + as <tt><font size=+1>$text9term</font></tt> before running <i>cmd</i>.<br> + +</table> +<p><font size=+1><b>SOURCE </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + <tt><font size=+1>/usr/local/plan9/src/cmd/9term<br> + </font></tt> +</table> +<p><font size=+1><b>BUGS </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + There should be a program to toggle the current window’s hold + mode. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Unix makes everything harder.<br> + +</table> +<p><font size=+1><b>SEE ALSO </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + <a href="../man1/wintext.html"><i>wintext</i>(1)</a><br> + +</table> + +<td width=20> +<tr height=20><td> +</table> +<!-- TRAILER --> +<table border=0 cellpadding=0 cellspacing=0 width=100%> +<tr height=15><td width=10><td><td width=10> +<tr><td><td> +<center> +<a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a> +</center> +</table> +<!-- TRAILER --> +</body></html> |