xterm: Changes to 'debian-unstable'
MANIFEST | 2
aclocal.m4 | 19
charproc.c | 14
configure | 853 +--
ctlseqs.ms | 18
debian/changelog | 5
debian/local/xterm.faq.html | 8341 +++++++++++++++++++++++---------------
debian/patches/902_windowops.diff | 2
debian/patches/904_fontops.diff | 6
package/debian/changelog | 7
package/xterm.spec | 4
version.h | 4
xterm.log.html | 18
xterm.man | 5
14 files changed, 5589 insertions(+), 3709 deletions(-)
New commits:
commit 56d57ca3d9dbe5520934f77628556c8ba51838d6
Author: Julien Cristau <jcristau@debian.org>
Date: Mon Apr 9 21:45:03 2012 +0200
Upload to unstable
diff --git a/debian/changelog b/debian/changelog
index 6ddee55..8b84a21 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xterm (278-1) UNRELEASED; urgency=low
+xterm (278-1) unstable; urgency=low
* New upstream release
- move call to grantpt before asking utempter to add a record, to work
@@ -18,7 +18,7 @@ xterm (278-1) UNRELEASED; urgency=low
#650291)
* Update copy of XTerm FAQ to revision 1.180 (dated 2012/02/06).
- -- Julien Cristau <jcristau@debian.org> Sun, 08 Jan 2012 13:33:32 +0100
+ -- Julien Cristau <jcristau@debian.org> Mon, 09 Apr 2012 21:45:01 +0200
xterm (276-2) unstable; urgency=low
commit 8f76982f4abe76a8df1deea18fec4da5fdb24615
Author: Julien Cristau <jcristau@debian.org>
Date: Mon Apr 9 21:44:53 2012 +0200
Update copy of XTerm FAQ to revision 1.180 (dated 2012/02/06).
diff --git a/debian/changelog b/debian/changelog
index f380089..6ddee55 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -16,6 +16,7 @@ xterm (278-1) UNRELEASED; urgency=low
read-only colormap entry corresponding to the closest RGB value
supported by the hardware", but rather a rough approximation (closes:
#650291)
+ * Update copy of XTerm FAQ to revision 1.180 (dated 2012/02/06).
-- Julien Cristau <jcristau@debian.org> Sun, 08 Jan 2012 13:33:32 +0100
diff --git a/debian/local/xterm.faq.html b/debian/local/xterm.faq.html
index a5593aa..36f4395 100644
--- a/debian/local/xterm.faq.html
+++ b/debian/local/xterm.faq.html
@@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
*****************************************************************************
- * Copyright 1997-2010,2011 by Thomas E. Dickey *
+ * Copyright 1997-2011,2012 by Thomas E. Dickey *
* All Rights Reserved. *
* *
* Permission to use, copy, modify, and distribute this software and its *
@@ -20,3265 +20,5100 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF *
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *
*****************************************************************************
- $XTermId: xterm.faq.html,v 1.168 2011/09/12 08:37:53 tom Exp $
+ $XTermId: xterm.faq.html,v 1.180 2012/02/06 20:08:45 tom Exp $
-->
-<HTML>
-<HEAD>
-<TITLE>XTERM - Frequently Asked Questions (FAQ)</TITLE>
-<LINK REV=MADE HREF="mailto:dickey@invisible-island.net">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<HR>
-<a href="http://invisible-island.net/">http://invisible-island.net/</a><a href="http://invisible-island.net/xterm/">xterm/</a><br>
-Copyright © 1997-2010,2011 by Thomas E. Dickey
-<HR>
-<a href="http://invisible-island.net/xterm/xterm.faq.html">Here</a>
-is the latest version of this file.
-<h2>Contents</h2>
-<UL>
-<LI><A HREF="#what_is_it">What is XTERM?</A>
-<LI><A HREF="#who_did_it">Who wrote XTERM?</A>
-<LI><A HREF="#what_is_vt220">What is a VT220?</A>
-<LI><A HREF="#what_platforms">What platforms does it run on?</A>
-<LI><A HREF="#latest_version">What is the latest version?</A>
-<LI><A HREF="#other_versions">What versions are available?</A>
-<LI><A HREF="#compare_versions">Comparing versions, by counting controls</A>
-<LI><A HREF="#how_do_i">How do I ...</A>
-<LI><A HREF="#frequent_problems">Frequent problems</A>
-<LI><A HREF="#known_bugs">Known Bugs in XTERM</A>
-<LI><A HREF="#building_it">How do I build XTERM?</A>
-<LI><A HREF="#report_bugs">How do I report bugs?</A>
-<LI><A HREF="#more_info">Additional Information</A>
-<LI><A HREF="#future_work">Ongoing/future work</A>
-</UL>
-
-<HR>
-<h2><A NAME="what_is_it">What is XTERM?</A></h2>
-From the manual page:
-<blockquote>
-The xterm program is a terminal emulator for the X Window System. It provides
-DEC VT102 and Tektronix 4014 compatible terminals for programs that can't use
-the window system directly. If the underlying operating system supports
-terminal resizing capabilities (for example, the SIGWINCH signal in systems
-derived from 4.3bsd), xterm will use the facilities to notify programs running
-in the window whenever it is resized.
-</blockquote>
-That is, it is a <em>specific</em> program, not a generic item.
-This FAQ presents various useful bits of information for both
-the specific program as well as other programs that imitate it.
-
-<h2><A NAME="who_did_it">Who wrote XTERM?</A></h2>
-I've been working on xterm since early 1996
-(see my <a href="xterm.log.html">changelog</a> for details).
-<P>
-But the program is much older than that.
-<p>
-A lot of people, cited at the bottom of the manual page wrote
-the original xterm program, maintained by the X Consortium
-(later part of the Open Group – I'm well aware of the distinction,
-but am citing when the work was done, not who the current owner may be).
-There is no changelog, and it is not clear who did what.
-Email from Jim Gettys provides some background:
-<blockquote>
-Cast of thousands...
-<p>
-To give a bit of history, xterm predates X!
-<p>
-It was originally written as a stand-alone terminal emulator for the
-VS100 by Mark Vandevoorde, as my coop student the summer that
-X started.
-<p>
-Part way through the summer, it became clear that X was more useful
-than trying to do a stand alone program, so I had him retarget it to X.
-Part of why xterm's internals are so horrifying is that it was originally
-intended that a single process be able to drive multiple VS100 displays.
-Don't hold this against Mark; it isn't his fault.
-<p>
-I then did a lot of hacking on it, and merged several improved versions
-from others back in.
-<p>
-Notable improvements include the proper ANSI parser, that Bob McNamara
-did.
-<p>
-The Tek 4010 support came from a guy at Smithsonian Astrophysical Observatory
-whose name slips my mind at the moment.
-<p>
-Ported to X11 by Loretta Guarino.
-<p>
-Then hacked on at the X Consortium by uncounted people.
-</blockquote>
-Email from Doug Mink provides more background:
-<blockquote>
-I was checking out the newly revised AltaVista search
-engine to see what was on the net about xterm, and I
-found your pages. I can add to the FAQ in that I was the
-"guy at the Smithsonian Astrophysical Observatory" Jim
-Gettys refers to. I am listed at the end of the man page
-under authors. What happened was that I was hired by SAO
-(after leaving the research staff at MIT) in October 1985
-to write analysis software for the Spacelab 2 Infrared
-Telescope which was to fly on the Space Shuttle in 1985
-less than six months after I was hired. I came with a tar
-tape full of software I had written for Unix and Tektronix
-terminals, but I was presented with a VS100 terminal which
-had an early version (X6 or so) of xterm, with no graphics
-capabilities. SAO is at Harvard, across Cambridge from MIT,
-where Jim Gettys was detailed from DEC to the X project,
-and Jim had connections with SAO, having worked here after
-college (MIT, where we had both worked at the observatory
-at various times); he was still sharing an apartment with
-an SAO colleague of mine, too. Anyway, everyone decided
-that since I knew Tektronix commands pretty well, and our
-group desparately needed the graphics capabilities, it
-would be a good use of my time to implement a Tektronix
-terminal emulator under X. So I set to work learning
-more C--I had only written a couple of wrappers to C I/O
-routines so I could use them with my Fortran software--and
-wrote a Tektronix emulator. The only X documentation at
-the time was the code itself. While I was at it, I wrote
-an improved Tektronix emulator for our Imagen laser printer
-which used the full resolution of that 300 dpi printer instead
-of the effective 100 dpi (i.e. jaggy) emultator distributed
-with the printer. The original xterm Tek emulator shared a
-window with the VT100 emulator, much like on the VT240 terminals
-which I had been using at MIT before I came to Harvard. With
-a VAX 750 running several VS100's, window creation was sloowww,
-so sharing a window was the quickest way to do things, and all
-of my software was written for that mode of operation, anyway.
-While I wrote the emulator so that my software would work on
-it, it was tested by the X group against a BBN graphics package,
-the name of which slips my mind right now.
-<p>
-Anyway, 15 years later, I am still using xterm and some of the
-same mapping software I wrote the emulator for. And I am still
-at the Smithsonian Astrophysical Observatory.
-</blockquote>
-<P>
-This FAQ is oriented toward the version of xterm originally distributed
-with XFree86 (more commonly known as modern, or "new xterm",
-with a corresponding terminal description "xterm-new"),
-which was based on the X11R6.3 xterm, with the addition of ANSI color and
-VT220 controls.
-
-<h2><A NAME="what_is_vt220">What is a VT220?</A></h2>
-<h3>Why a VT220?</h3>
-The manual page mentions a VT220.
-Most terminal emulators documentation talk about VT100.
-But a VT100 is a rather limited subset of what people expect:
-<ul>
-<li>VT100s have no function keys.
-Arguably, PF1-PF4 are function keys.
-My keyboard has 12 function keys.
-<li>VT100s do not do
-<a href="../ncurses/ncurses.faq.html">color</a>.
-</ul>
-<p>
-Initially, I was only interested in making colors workable for curses
-programs.
-<p>
-Later, I noticed that xterm had some support for what would now be termed as ISO-2022.
-That was a VT220 feature, rather than VT100.
-There were some missing pieces.
-So I decided to fill in those pieces and make xterm a VT220 emulator.
-(VT220s do not do ANSI color either—the missing pieces were in other areas).
-<p>
-Xterm also provides features that are in neither VT100 nor VT220,
-which are used by other programs as "xterm emulation".
-<ul>
-<li>set (and retrieve) window- and icon-labels using escape sequences.
-<li>interpret mouse clicks as escape sequences that can be read by a program.
-</ul>
-By the way, the control string used for setting the titles was
-not in a standard format:
-<ul>
-<li>In X10 (1988), the string was simply terminated by any nonprinting character.
-<li>X11R4 (1989) modified that to ensure that the nonprinting character is an
-ASCII BEL (control/G).
-<li>There is no explanation in the (sketchy) notes distributed with the
-X11R4 xterm;
-in retrospect it seems that the most likely explanation for the choice is
-that it was simpler to implement in shell scripts than <code>ESC \</code>.
-</ul>
-<p>
-I revised that area <a href="xterm.log.html#xterm_24">starting in 1996</a>,
-<ul>
-<li>first to use xterm's state table for handling the input, and then
-<li>to accept the standard string terminator as well.
-</ul>
-<h3>What is a State Table?</h3>
-That was mentioned regarding the title strings.
-Xterm uses a state machine to handle incoming characters.
-That is essentially what a real terminal does.
-Other "xterm" terminal emulators typically do not do this,
-which makes them not do well with <A HREF="../vttest/vttest.html">vttest</A>.
-
-<h2><A NAME="what_platforms">What platforms does it run on?</A></h2>
-<code>Xterm</code> runs in all of the implementations of X11.
-I've built and run these since I started working on xterm:
-
-<UL>
-<LI>AIX 3.2.5, 4.1, 4.3 (cc)
-<LI>Digital Unix 3.2, 4.0, 5.0 (cc)
-<LI>FreeBSD 2.2.6 to 6.0 (gcc 2.8)
-<LI>HP-UX 9.05 to 11.23 (gcc 2.7.2 to 3.4)
-<LI>IRIX 5.2, 6.2 (cc, gcc 2.7.2, gcc 2.8)
-<LI>Linux 2.0.0 to 2.6.26 (gcc 2.7.2 to 4.3)
-<LI>SCO OpenServer 5 (cc, gcc).
-<LI>Solaris 2.4, 2.5, 2.5.1, 2.6, 7, 8 (cc, gcc 2.7.2)
-<LI>SunOS 4.1.1, 4.1.3 (gcc 2.7.2)
-</UL>
-<P>
-The older configurations have X11R5 libraries. Only minor changes
-are needed to make xterm work on those systems. However, with X11R6
-you can obtain better locale support, as well as new features such as the
-active icon.
-X11R7... not much to say there.
-
-<h2><A NAME="latest_version">What is the latest version?</A></h2>
-The most recent (and well supported) version of xterm is the one that I maintain:
-<ul>
-<li><A HREF="ftp://invisible-island.net/xterm/xterm.tar.gz">current source (ftp)</A>
-<li><A HREF="http://invisible-island.net/datafiles/release/xterm.tar.gz">current source (http)</A>
-</ul>
-
-<h2><A NAME="other_versions">What versions are available?</A></h2>
-There are several other versions of xterm, based on xterm's source.
-These include
-<UL>
-<LI><A HREF="#bug_ansi_xterm">ansi_xterm</A>
-<LI><A HREF="#bug_color_xterm">color_xterm</A>
-<LI><A HREF="#bug_cxterm">cxterm</A> (Chinese)
-<LI><A HREF="#bug_hanterm">hanterm</A> (Korean)
-<LI><A HREF="#bug_mxterm">mxterm</A>
-<LI><A HREF="#bug_nxterm">nxterm</A>
-<LI><A HREF="#bug_kterm">kterm</A> (Japanese)
-<LI><A HREF="#bug_xterm_r6">xterm</A> (from X Consortium)
-</UL>
-There are similar programs not based on xterm's source,
-which are compatible to different degrees.
-These include
-<ul>
-<LI><A HREF="#bug_dtterm">dtterm</A>
-<LI><A HREF="#bug_emu">emu</A> (from X Consortium)
-<LI><A HREF="#bug_eterm">Eterm</A>
-<LI><A HREF="#bug_gnometerm">GNOME Terminal</A>
-<LI><A HREF="#bug_multignome">Multi GNOME Terminal (MGT)</A>
-<LI><A HREF="#bug_mterm">mterm</A>
-<LI><A HREF="#bug_konsole">konsole</A>
-<LI><A HREF="#bug_mlterm">mlterm</A> (Multi Lingual)
-<LI><A HREF="#bug_osso_xterm">osso-xterm</A>
-<LI><A HREF="#bug_roxterm">roxterm</A>
-<LI><A HREF="#bug_rxvt">rxvt</A>
-<LI><A HREF="#bug_xfce_term">xfce-term</A>
-<LI><A HREF="#bug_xgterm">xgterm</A>
-<LI><A HREF="#bug_xiterm">xiterm</A>
-</ul>
-Some of these use the <a href="#vte_widget">VTE widget</a>.
-Since that supplies most of the terminal emulation,
-the remaining differences between programs using VTE tend to be
-at the level of the window manager (menus, borders, etc.).
-Other (older) programs which are based on reusable widgets
-include
-<A HREF="#bug_dtterm">dtterm</A> and
-<A HREF="#bug_emu">emu</A>.
-<p>
-(I am aware of a few others, such as
-<STRONG>xcterm</STRONG>, but have not seen
-a working version of these).
-
-<h2><A name="compare_versions">Comparing versions, by counting controls</a></h2>
-<p>
-Several of these programs are claimed (either by their developers,
-or their users) to emulate "most" of xterm.
-To me, "most" would be something quantifiable, e.g., 80 percent.
-To satisfy my curiousity, I wrote a script to extract the control
-sequence information from <a href="#ctlseqs_ms">ctlseqs.txt</a>.
-This counts each control sequence, as well as the variations such as
-setting bold, color, inverse video.
-Then I (laboriously) inspected these terminal implementations:
-<ul>
-<li>xterm patch #266 ("xterm-new")
-<li>X11R6.3 xterm (xterm-r6)
-<li>DEC vt220
-<li>DEC vt102
-<li>rxvt 2.7.10
-<li>rxvt-unicode 9.09 (urxvt)
-<li>konsole 2.5.3
-<li>VTE 0.25.91 (vte), used in GNOME-Terminal and kindred.
-</ul>
-<p>
-As of mid-November 2010, these are the latest implementations.
-I included data for the vt220 and vt102 to be able to contrast the
-various terminal <em>emulators</em> against those as well as xterm.
-
-There are:
-<ul>
-<li>498 control sequences listed in the corresponding file
-for xterm patch #266.
-<li>192 of those are "primary", e.g., disregarding
-parameters such as those distinguishing bold from color.
-<li>37 of the primary control sequences have secondary sequences.
-</ul>
-For each control, there are three possibilities:
-<ol>
-<li>"yes" — the terminal implements it, matching xterm.
-If xterm implements it, and it is a feature of vt220 or vt102,
-then in turn xterm's behavior must match vt220 or vt102.
-<li>"partial" — the terminal implements it, but its behavior does not match the
-reference noted above.
-<li>"no" — the terminal does not implement the control.
-</ol>
-<p>
-The control sequences document lists a few controls which xterm
-does not (completely) implement, e.g.,
-<ul>
-<li>key-repeat
-<li>enabling LEDs other than scroll-lock
-</ul>
-None of the other terminal emulators implements those either.
-<br>
-<table border="1" summary="Comparing against the control sequences document">
-<caption>Comparing against the control sequences document</caption>
-<colgroup><col width="15%"><col width="15%"><col width="15%"><col width="35%"></colgroup>
-<tr>
-<th>yes</th>
-<th>partial</th>
-<th>no</th>
-<th>program</th>
-</tr>
-<tr><td>488</td><td>4</td><td>6</td><td>xterm-new</td></tr>
-<tr><td>154</td><td>6</td><td>338</td><td>xterm-r6</td></tr>
-<tr><td>188</td><td>5</td><td>305</td><td>vt220</td></tr>
-<tr><td>104</td><td>0</td><td>394</td><td>vt102</td></tr>
-<tr><td>204</td><td>3</td><td>291</td><td>rxvt</td></tr>
-<tr><td>219</td><td>3</td><td>276</td><td>urxvt</td></tr>
-<tr><td>191</td><td>2</td><td>305</td><td>putty</td></tr>
-<tr><td>170</td><td>3</td><td>325</td><td>konsole</td></tr>
-<tr><td>184</td><td>6</td><td>308</td><td>vte</td></tr>
-</table>
-<p>
-Modern xterm implements 188 primary controls.
-In this table, konsole ranks last because it does not support vt52 emulation.
-Aside from that, the various emulators implement much the same features
-from xterm.
-None implements as many as half of xterm's controls.
-<table border="1" summary="Comparing against xterm">
-<caption>Comparing against xterm</caption>
-<colgroup><col width="15%"><col width="15%"><col width="15%"><col width="35%"></colgroup>
-<tr>
-<th>yes</th>
-<th>partial</th>
-<th>no</th>
-<th>program</th>
-</tr>
-<tr><td>488</td><td>0</td><td>0</td><td>xterm-new</td></tr>
-<tr><td>154</td><td>6</td><td>328</td><td>xterm-r6</td></tr>
-<tr><td>182</td><td>2</td><td>304</td><td>vt220</td></tr>
-<tr><td>98</td><td>0</td><td>390</td><td>vt102</td></tr>
-<tr><td>204</td><td>3</td><td>281</td><td>rxvt</td></tr>
-<tr><td>219</td><td>3</td><td>266</td><td>urxvt</td></tr>
-<tr><td>189</td><td>2</td><td>297</td><td>putty</td></tr>
-<tr><td>170</td><td>3</td><td>315</td><td>konsole</td></tr>
-<tr><td>184</td><td>6</td><td>298</td><td>vte</td></tr>
-</table>
-<p>
-DEC VT220 implements 96 primary controls.
-Modern xterm (as documented), implements most of the VT220.
-VTE implements fewer than half.
-The others are a little better.
-None of the others could be used as a real VT220.
-<table border="1" summary="Comparing against vt220">
-<caption>Comparing against vt220</caption>
-<colgroup><col width="15%"><col width="15%"><col width="15%"><col width="35%"></colgroup>
-<tr>
-<th>yes</th>
-<th>partial</th>
-<th>no</th>
-<th>program</th>
-</tr>
-<tr><td>182</td><td>0</td><td>6</td><td>xterm-new</td></tr>
-<tr><td>78</td><td>6</td><td>104</td><td>xterm-r6</td></tr>
-<tr><td>188</td><td>0</td><td>0</td><td>vt220</td></tr>
-<tr><td>104</td><td>0</td><td>84</td><td>vt102</td></tr>
-<tr><td>101</td><td>3</td><td>84</td><td>rxvt</td></tr>
-<tr><td>106</td><td>3</td><td>79</td><td>urxvt</td></tr>
-<tr><td>107</td><td>2</td><td>79</td><td>putty</td></tr>
-<tr><td>100</td><td>3</td><td>85</td><td>konsole</td></tr>
-<tr><td>88</td><td>6</td><td>94</td><td>vte</td></tr>
-</table>
-<p>
-DEC VT102 (the actual flavor used for "vt100" in most cases),
-implements 68 primary controls.
-Again, VTE fares worst, and the others a little better.
-<table border="1" summary="Comparing against vt102">
-<caption>Comparing against vt102</caption>
-<colgroup><col width="15%"><col width="15%"><col width="15%"><col width="35%"></colgroup>
-<tr>
-<th>yes</th>
-<th>partial</th>
-<th>no</th>
-<th>program</th>
-</tr>
-<tr><td>98</td><td>0</td><td>6</td><td>xterm-new</td></tr>
-<tr><td>70</td><td>6</td><td>28</td><td>xterm-r6</td></tr>
-<tr><td>104</td><td>0</td><td>0</td><td>vt220</td></tr>
-<tr><td>104</td><td>0</td><td>0</td><td>vt102</td></tr>
-<tr><td>79</td><td>2</td><td>23</td><td>rxvt</td></tr>
-<tr><td>81</td><td>2</td><td>21</td><td>urxvt</td></tr>
-<tr><td>86</td><td>2</td><td>16</td><td>putty</td></tr>
-<tr><td>85</td><td>3</td><td>16</td><td>konsole</td></tr>
-<tr><td>60</td><td>1</td><td>43</td><td>vte</td></tr>
-</table>
-<p>
-In summary, none of the other terminal emulators emulates "most" of xterm.
-Instead, they implement the most commonly-used control sequences,
-and there are differences between them.
-
-<h2><A NAME="how_do_i">How do I ...</A></h2>
-Not really problems, but frequently asked questions (the point of this,
-after all):
-<UL>
-<LI><A HREF="#how2_fsize">How do I change the font size?</A>
-<LI><A HREF="#how2_print">How do I print the screen?</A>
-<LI><A HREF="#how2_fkeys">How do I set up function keys?</A>
-<LI><A HREF="#how2_title">How do I set the title?</A>
-<LI><A HREF="#how2_blink">How do I make the cursor blink?</A>
-</UL>
-
-<h3><A NAME="how2_fsize">How do I change the font size?</A></h3>
-Xterm uses fonts given as resource settings.
-You can switch between these fonts at runtime, using a menu.
-This is documented in the manpage, in the
-<a href="manpage/xterm.html#MENUS">MENUS</a> section.
-<p>
-X Consortium xterm provides popup menus, by pressing the control key
-together with the mouse button.
-Control right mouse button pops up the <em>VT FONTS</em> menu,
-from which you can select fonts that are specified in xterm's resources.
-Usually these are in increasing order of size.
-<p>
-Modern xterm provides the menu, plus a feature adapted from rxvt: pressing
-the shifted keypad plus or minus keys steps through the font menu selections,
-in order of their size.
-<p>
-Xterm's manpage does not document the syntax for X resources;
-it is done in the X documentation.
-If you are instead asking about a
-<a href="#utf8_fonts">problem displaying a given font</a>,
-it may be due to a problem with your resource settings.
-
-<h3><A NAME="how2_print">How do I print the screen?</A></h3>
-That depends on why you want to print it.
-<p>
-If you want a trace of an interactive session, you should use the
-<em>script</em> program. It records every character sent to the
-screen, recording them in a file <code>typescript</code>.
-There are two drawbacks to this approach:
-<ul>
-<li>Every character is recorded.
-Even cursor movement, if you run an editor.
-<li>You must start a new shell to capture the <code>typescript</code> file.
-</ul>
-Well, what about logging?
-Some versions of xterm support logging to a file.
-In fact modern xterm does. Logging was dropped from X Consortium xterm
-during X11R5 due to security concerns. Those were addressed, but logging
-was not reinstated
-(in fact there is a related <a href="#bug_xterm_r6">bug</a> in xterm).
-Some people prefer this, because it is convenient:
-you can start and stop logging a popup menu entry.
-However
-<ul>
-<li>Every character is recorded.
-Even cursor movement, if you run an editor.
-<li>Line drawing characters are translated to control characters,
-i.e., codes 0-31
-(this may be fixed sometime,
-it is a problem inherited from X Consortium xterm).
-</ul>
-Both <em>script</em> and logging are useful for recording, but they
-require interpretation to make sense of the trace. You probably
-would not send that trace to a printer (not twice, anyway).
-<p>
-If you want to print the contents of the screen, modern xterm
-implements, as part of the VT100 emulation, an "attached" printer.
-<ul>
-<li>The printer is really a pipe command, to which xterm writes.
-<li>You can print the current line, page, or continuously with
-the corresponding control sequences. That takes an application
-program which knows how to print the screen.
-<li>If you do not have an application, xterm has a popup menu
-entry to print the window.
-</ul>
-There are limitations and tradeoffs using the "attached" printer,
-because it is an emulation:
-<ul>
-<li>The emulation is based on detailed documentation for a VT320.
-This states that control sequences are sent in each line to
-reset bold, underlining and other printable attributes, and
-to set them as needed.
-Your printer probably does not understand this sort of input.
-Use the xterm resource <code>printAttributes</code> to get
-more easily printed output.
-<li>The printer may hang.
-Not really, but it seems that way.
-If you use the "attached" printer from an application designed
-for the VT100 terminal, it is written with the assumption that
-the printer is a dedicated piece of hardware,
-printing onto a continuous form.
-Use the <code>printerAutoClose</code> resource to change
-xterm's behavior to close the printer pipe whenever the terminal
-is told to switch the printer offline.
-</ul>
-If you use the popup menu to print the screen, this will close the
-printer pipe unless it was already opened by the application running in xterm.
-
-<h3><A NAME="how2_fkeys">How do I set up function keys?</A></h3>
-With modern xterm, this is relatively simple. So I'll answer that first.
-<P>
-With X Consortium xterm, you had partial support for DEC VTxxx function keys.
-Function keys F1 to F12 correspond to DEC's F1 to F12 (sort of).
-Actually, DEC's VT220 terminals do not have codes for F1 through F5.
-They are reserved for local functions.
-And the VT220 (and up) terminals have 20 function keys.
-So you cannot do anything with the F13 through F20 (i.e., DO, HELP and SELECT).
-Finally, though xterm is reputed to be VT100-compatible, it has no support
-for the VT100 keypad (PF1 to PF4, and the "," key).
-<P>
-Modern (XFree86) xterm changed the X Consortium codes
-for F1 to F4 to match the
-VT100 PF1 to PF4, except when the emulation level is VT220 and up.
-In this case, it generates the same F1 to F4 codes as X Consortium xterm.
-Moreover, it adds a new resource <code>sunKeyboard</code>, which
-tells the program whether it has only 12 function keys (i.e., a Sun or PC
-keyboard).
-If so (this is selectable from the popup menu), you can use the control key
-with F1 to F12 to get F13 to F24, and use the "+" key on the keypad as an
-alias for "," (comma).
-<P>
-The emulation level for modern xterm is set via the resource
-<code>decTerminalID</code>, e.g., to 220 for a VT220.
-Once set, applications can set the emulation level up or down within that
-limit. DEC's terminals are configured in much the same way by a setup
-option.
-<P>
-That is the simple way, using a couple of new resources.
-The traditional way to get function keys involves translations.
-I have seen a few postings on the newsgroups that do this.
-Here is one from Bruce Momjian <root@candle.pha.pa.us>
-for a VT220:
-<!--{{atr2html--><p style="font-family: monospace; font-size: 10pt;">
- xterm <font color="#008080">$XTERMFLAGS</font> +rw +sb +ls <font color="#008080">$@</font> -tm <font color="#800080">'erase ^? intr ^c'</font> \<br>
- -name vt220 -title vt220 -tn xterm-220 <font color="#800080">"$@"</font> &<br>
-<!--atr2html}}--></p>
-with the corresponding resources:
-<p>
-<!--{{atr2html--><p style="font-family: monospace; font-size: 10pt;">
- <strong><font color="#000080">XTerm</font></strong>*<strong><font color="#000080">VT100</font></strong>.<font color="#008080">translations</font>:<font color="#800080"> #override \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">Home: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">3</font></strong><font color="#800080">~") \n \<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">End: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">4</font></strong><font color="#800080">~") \n</font><br>
- <font color="#008080">vt220</font>*<strong><font color="#000080">VT100</font></strong>.<font color="#008080">translations</font>:<font color="#800080"> #override \n\<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F1: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("OP") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F2: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("OQ") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F3: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("OR") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F4: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("OS") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F5: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">16</font></strong><font color="#800080">~") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F6: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">17</font></strong><font color="#800080">~") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F7: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">18</font></strong><font color="#800080">~") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F8: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">19</font></strong><font color="#800080">~") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F9: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">20</font></strong><font color="#800080">~") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F10: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">21</font></strong><font color="#800080">~") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F11: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">28</font></strong><font color="#800080">~") \n \<br>
- ~Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F12: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">29</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F1: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">23</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F2: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">24</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F3: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">25</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F4: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">26</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F5: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[K~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F6: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">31</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F7: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">31</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F8: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">32</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F9: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">33</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F10: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">34</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F11: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">28</font></strong><font color="#800080">~") \n \<br>
- Shift </font><strong><font color="#000080"><Key></font></strong><font color="#800080">F12: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">29</font></strong><font color="#800080">~") \n \<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">Print: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">32</font></strong><font color="#800080">~") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">Cancel: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">33</font></strong><font color="#800080">~") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">Pause: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">34</font></strong><font color="#800080">~") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">Insert: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">2</font></strong><font color="#800080">~") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">Delete: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">3</font></strong><font color="#800080">~") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">Home: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">1</font></strong><font color="#800080">~") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">End: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">4</font></strong><font color="#800080">~") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">Prior: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">5</font></strong><font color="#800080">~") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">Next: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("[</font><strong><font color="#008080">6</font></strong><font color="#800080">~") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">BackSpace: string(</font><strong><font color="#008080">0x7f</font></strong><font color="#800080">) \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">Num_Lock: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("OP") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_Divide: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Ol") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_Multiply: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Om") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_Subtract: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("OS") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_Add: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("OM") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_Enter: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("OM") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_Decimal: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("On") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_0: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Op") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_1: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Oq") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_2: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Or") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_3: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Os") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_4: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Ot") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_5: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Ou") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_6: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Ov") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_7: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Ow") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_8: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Ox") \n\<br>
- </font><strong><font color="#000080"><Key></font></strong><font color="#800080">KP_9: string(</font><strong><font color="#008080">0x1b</font></strong><font color="#800080">) string("Oy") \n</font><br>
- <br>
- <font color="#800000">! <Key>Up: string(0x1b) string("[A") \n\<br>
-</font> <font color="#800000">! <Key>Down: string(0x1b) string("[B") \n\<br>
-</font> <font color="#800000">! <Key>Right: string(0x1b) string("[C") \n\<br>
-</font> <font color="#800000">! <Key>Left: string(0x1b) string("[D") \n\<br>
-</font> <br>
- *<font color="#008080">visualBell</font>:<font color="#800080"> </font><strong><font color="#000080">true</font></strong><br>
- *<font color="#008080">saveLines</font>:<font color="#800080"> </font><strong><font color="#008080">1000</font></strong><br>
- *<font color="#008080">cursesemul</font>:<font color="#800080"> </font><strong><font color="#000080">true</font></strong><br>
- *<font color="#008080">scrollKey</font>:<font color="#800080"> </font><strong><font color="#000080">true</font></strong><br>
- *<font color="#008080">scrollBar</font>:<font color="#800080"> </font><strong><font color="#000080">true</font></strong><br>
-<!--atr2html}}--></p>
-<p>
-Note that real VT220 terminals use shifted function keys to mean something
-different: the user-programmable keys (i.e., DECUDK). Modern xterm
-supports this, but the translations do not (they're using shift to select
-F13 to F20).
-<P>
-Here's another one, from
-Robert Ess <ress@spd.dsccc.com>:
-<p>
-<!--{{atr2html--><p style="font-family: monospace; font-size: 10pt;">
-<font color="#800000">#!/bin/sh</font><br>
- <br>
-<font color="#800000"># vax</font><br>
-<font color="#800000"># 09-17-96 Bob Ess - initial creation</font><br>
-<font color="#800000"># 09-26-96 Shig Katada - Additional keybindings</font><br>
-<font color="#800000">#</font><br>
-<font color="#800000"># Script file to incorporate keybindings and command line</font><br>
-<font color="#800000"># options for connecting to a VAX node</font><br>
- <br>
-<font color="#800000"># Usage statement</font><br>
-Usage()<strong><font color="#800000">{</font></strong><br>
- <strong><font color="#000080">echo</font></strong><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" Usage : vax -options"</font><br>
- <strong><font color="#000080">echo</font></strong><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" Options: -80 for 80 column terminal"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" -132 for 132 column terminal"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" -fg colorname"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" -bg colorname"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" -fn fontname"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" -fb bold fontname"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" -host [altair] [devel] [leonis] [castor]"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">""</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" Example: </font><strong><font color="#800000">\</font></strong><font color="#800080">"vax -80 -fg white -bg black -fn 9x15 -fb 9x15b -host castor</font><strong><font color="#800000">\</font></strong><font color="#800080">""</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" Starts a VAX session with an 80 column terminal"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" with a black background, white foreground, a normal"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" font of 9x15 and a bold font of 9x15b, and connects"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" to the node 'castor'"</font><br>
- <strong><font color="#000080">echo</font></strong><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" If you need additional help, please call Workstation"</font><br>
- <strong><font color="#000080">echo</font></strong> <font color="#800080">" Services at x92396."</font><br>
- <strong><font color="#000080">echo</font></strong><br>
- <strong><font color="#000080">exit</font></strong> <strong><font color="#008080">1</font></strong><br>
-<strong><font color="#800000">}</font></strong><br>
- <br>
-<font color="#800000"># Default to a black foreground with a white background.</font><br>
-<font color="#800000"># Use the 9x15 and 9x15bold fonts. Connect to castor by default.</font><br>
-<font color="#800000">#</font><br>
-<font color="#008080">FG</font>=black<br>
-<font color="#008080">BG</font>=white<br>
-<font color="#008080">HOST</font>=castor<br>
-<font color="#008080">FONT</font>=<strong><font color="#008080">9</font></strong>x15<br>
-<font color="#008080">BFONT</font>=<strong><font color="#008080">9</font></strong>x15bold<br>
-<font color="#008080">COLS</font>=<strong><font color="#008080">80</font></strong><br>
- <br>
-<font color="#800000"># Parse the command line arguments</font><br>
-<font color="#800000">#</font><br>
-<strong><font color="#000080">while</font></strong> [ <font color="#008080">$#</font> != <strong><font color="#008080">0</font></strong> ];<br>
-<strong><font color="#000080">do</font></strong><br>
- <strong><font color="#000080">case</font></strong> <font color="#008080">$1</font> <strong><font color="#000080">in</font></strong><br>
- <strong><font color="#008080">-80</font></strong>) <font color="#008080">COLS</font>=<strong><font color="#008080">80</font></strong><br>
- <font color="#008080">FONT</font>=spc12x24c<br>
- <font color="#008080">BFONT</font>=spc12x24b<br>
- <strong><font color="#000080">shift</font></strong><br>
- ;;<br>
- <strong><font color="#008080">-132</font></strong>) <font color="#008080">COLS</font>=<strong><font color="#008080">132</font></strong><br>
- <font color="#008080">FONT</font>=<strong><font color="#008080">9</font></strong>x15<br>
- <font color="#008080">BFONT</font>=<strong><font color="#008080">9</font></strong>x15b<br>
- <strong><font color="#000080">shift</font></strong><br>
- ;;<br>
- -fg) <strong><font color="#000080">shift</font></strong><br>
- <font color="#008080">FG</font>=<font color="#008080">$1</font><br>
- <strong><font color="#000080">shift</font></strong>;;<br>
- -bg) <strong><font color="#000080">shift</font></strong><br>
- <font color="#008080">BG</font>=<font color="#008080">$1</font><br>
- <strong><font color="#000080">shift</font></strong>;;<br>
- -fn) <strong><font color="#000080">shift</font></strong><br>
- <font color="#008080">FONT</font>=<font color="#008080">$1</font><br>
- <strong><font color="#000080">shift</font></strong>;;<br>
- -fb) <strong><font color="#000080">shift</font></strong><br>
- <font color="#008080">BFONT</font>=<font color="#008080">$1</font><br>
- <strong><font color="#000080">shift</font></strong>;;<br>
- -host) <strong><font color="#000080">shift</font></strong><br>
- <font color="#008080">HOST</font>=<font color="#008080">$1</font><br>
- <strong><font color="#000080">shift</font></strong>;;<br>
- -help) Usage;;<br>
- *) Usage;;<br>
- <strong><font color="#000080">esac</font></strong><br>
-<strong><font color="#000080">done</font></strong><br>
- <br>
-xterm -title <font color="#800080">"VAX"</font> -sb -sl <strong><font color="#008080">1200</font></strong> -geo <font color="#008080">${COLS}</font>x24 -fg <font color="#008080">${FG}</font> -bg <font color="#008080">${BG}</font> \<br>
- -cr red -fn <font color="#008080">${FONT}</font> -fb <font color="#008080">${BFONT}</font> -xrm \<br>
- <font color="#800080">'XTerm*VT100.translations: #override \n\<br>
- <Key>Insert: string(\001) \n\<br>
- Shift <Key>Up: scroll-back(1,lines) \n\<br>
- Shift <Key>Down: scroll-forw(1,lines) \n\<br>
- Shift <Key>Right: string(0x1b) string("f") \n\<br>
- Shift <Key>Left: string(0x1b) string("b") \n\<br>
- Shift <Key>Delete: string(0x1b) string(0x08) \n\<br>
- Shift <Key>Tab: string(0x1b) string("*") \n\<br>
- <Key>0x1000FF0D: scroll-back(1,page) \n\<br>
- <Key>0x1000FF0E: scroll-forw(1,page) \n\<br>
- <Key>0x1000FF09: string(\010) \n\<br>
- <Key>0x1000FF0A: string(\005) \n\<br>
- <Key>BackSpace: string(0xff) \n\<br>
- <Key>Select: select-start() \n\<br>
- <Key>0x1000FF02: select-end(PRIMARY,CUT_BUFFER0) \n\<br>
- Meta <Key>0x1000FF02: select-end(CLIPBOARD) \n\<br>
- <Key>0x1000FF04: insert-selection(PRIMARY,CUT_BUFFER0) \n\<br>
- Meta <Key>0x1000FF04: insert-selection(CLIPBOARD) \n\<br>
- <Key>F1: string(0x1b) string("OP") \n\<br>
- <Key>F2: string(0x1b) string("OQ") \n\<br>
- <Key>F3: string(0x1b) string("OR") \n\<br>
- <Key>F4: string(0x1b) string("OS") \n\<br>
- <Key>F5: string(0x1b) string("OA") \n\<br>
- <Key>F11: string(0x1b) string("[23~") \n\<br>
- <Key>F12: string(0x1b) string("[24~") \n\<br>
- <Key>KP_0: string(0x1b) string("Op") \n\<br>
- <Key>KP_1: string(0x1b) string("Oq") \n\<br>
- <Key>KP_2: string(0x1b) string("Or") \n\<br>
- <Key>KP_3: string(0x1b) string("Os") \n\<br>
- <Key>KP_4: string(0x1b) string("Ot") \n\<br>
- <Key>KP_5: string(0x1b) string("Ou") \n\<br>
- <Key>KP_Divide: string(0x1b) string("OP") \n\<br>
- <Key>KP_Multiply: string(0x1b) string("[29~") \n\<br>
- <Key>KP_Enter: string(0x1b) string("OM") \n\<br>
- <Key>KP_Subtract: string(0x1b) string("Om") \n\<br>
- <Key>KP_Add: string(0x1b) string("Ol") \n\<br>
- <Key>KP_Decimal: string(0x1b) string("On") \n\<br>
- <Btn1Down>: select-start() \n\<br>
- <Btn1Motion>: select-extend() \n\<br>
- <Btn1Up>: select-end(PRIMARY,CUT_BUFFER0) \n\<br>
- Button1<Btn2Down>: select-end(CLIPBOARD) \n\<br>
- Button1<Btn2Up>: ignore()'</font> \<br>
- -e telnet <font color="#008080">$HOST</font> &<br>
-<!--atr2html}}--></p>
-<p>
-Finally (for the moment) is a further modification of Robert Ess's script
-by <a href="http://www-personal.une.edu.au/~oahlefel/">Erik Ahlefeldt</a>,
-<oahlefel@metz.une.edu.au>.
-From his readme file, for vmsterm:
-
-<blockquote>
- This script is for people who wish to connect from a Linux or Unix computer
- to a VMS computer using telnet and get a good VT100 or VT220 emulation.
- The key mappings have been specifically designed to emulate the VT terminal
- auxiliary numeric keypad, so that you can use VMS EDT and TPU editors, as well
- as the many VMS applications use keys PF1 to PF4. The script should work with
- any recent version of Xterm using a standard extended IBM PC keyboard or
- a Sun keyboard.
-<p>
- About the keymappings. First the auxiliary numeric keypad.
- My prime objective with these mappings was to produce a setup that
- I could use with the EDT and TPU editors which make extensive use of the
- numeric keypad. The top row of keys PC numeric keypad (Num Lock, Divide,
- Multiply, Subtract) are where you find PF1, PF2, PF3, PF4 on a VT keyboard,
- so I have mapped them to PF1 thru PF4. The PC numeric keypad Add key (+) takes
- up the space of two keys which are Minus and Comma on the VT keyboard – I have
- mapped it to Comma (Delete Character in the EDT editor). I have then used the
- PC Pause key to map to VT key Minus (Delete Word in the EDT editor). The
- remaining keys on the auxiliary numeric keypad are the same for PC and VT.
-<p>
- The six keys between the main and numeric keypads on the PC (Insert, Home,
- Page Up, Delete End, Page Down) are usually mapped to the VT keys by either
- position or by (approximate) function. As I rarely use these keys I have
- mapped them by function as follows: PC key Insert to VT Insert Here,
- PC Home to VT Find, PC Page Up to VT Prev, PC Delete to VT Remove, PC
- End to VT Select, PC Page Down to VT Next.
-<dl>
-<dt>Function keys.
-<dd>There are 12 function keys on the PC keyboard and 20 on the
- VT keyboard, so I map PC F1 thru F12 to VT F1 thru F12 (except for F1 thru F5
- as noted below) and PC Shift F1 thru Shift F10 to VT F11 thru F20.
-<p>
- The VT keys F1 thru F5 are local hardware function keys so there is nothing
- to emulate, however some PC to VT emulations in the past have mapped PF1 thru
- PF4 here, so I have done that too, even though they are already mapped on the
- auxiliary numeric keypad.
-<dt>Xterm functionality.
-<dd>You lose some xterm functions when you remap the
- keyboard, however this script implements a scroll back buffer of 1000 lines
- which you scroll through using Shift and Up (a.k.a. Up Arrow or Cursor Up key)
- or Shift and Down.
-</dl>
-</blockquote>
-a summary of the keyboard mapping:
-<pre>
- PC Key maps to VT Key.
- ------ ------
- F1 PF1
- F2 PF2
- F3 PF3
- F4 PF4
- F5 unused
- F6 F6
- F7 F7
- F8 F8
- F9 F9
- F10 F10
- F11 F11
- F12 F12
- Shift F1 F11
- Shift F2 F12
- Shift F3 F13
- Shift F4 F14
- Shift F5 F15 (Help)
- Shift F6 F16 (Do)
- Shift F7 F17
- Shift F8 F18
- Shift F9 F19
- Shift F10 F20
- Shift F11 F11
- Shift F12 F12
- Print Help (F15)
- Cancel Do (F16)
- Pause Keypad Minus
-
- Insert Insert Here
- Delete Remove
- Home Find
- End Select
- Prior Prev
- Next Next
- BackSpace BackSpace (sends DEL - ascii 127)
-
- Num_Lock PF1
- KP_Divide PF2
- KP_Multiply PF3
- KP_Subtract PF4
- KP_Add Keypad Comma
- KP_Enter Enter
- KP_Decimal Period
- KP_0 Keypad 0
- KP_1 Keypad 1
- KP_2 Keypad 2
- KP_3 Keypad 3
- KP_4 Keypad 4
- KP_5 Keypad 5
- KP_6 Keypad 6
- KP_7 Keypad 7
- KP_8 Keypad 8
- KP_9 Keypad 9
- Up Up
- Shift Up Scroll Back
- Down Down
- Shift Down Scroll Forward
- Right Right
- Left Left
+
+<html>
+<head>
+ <meta name="generator" content=
+ "HTML Tidy for Linux/x86 (vers 6 November 2007), see www.w3.org">
+
+ <title>XTerm - Frequently Asked Questions (FAQ)</title>
+ <link rev="MADE" href="mailto:dickey@invisible-island.net">
+ <meta http-equiv="Content-Type" content=
+ "text/html; charset=us-ascii">
+</head>
+
+<body>
+ <hr>
+ <a href=
+ "http://invisible-island.net/">http://invisible-island.net/</a><a href="http://invisible-island.net/xterm/">xterm/</a><br>
+
+ Copyright © 1997-2011,2012 by Thomas E. Dickey
+ <hr>
+ <a href=
+ "http://invisible-island.net/xterm/xterm.faq.html">Here</a> is
+ the latest version of this file.
+
+ <h2 id="contents-id"><a name="contents" id=
+ "contents">Contents</a></h2>
+
+ <ul>
+ <li><a href="#what_is_it">What is
+ <strong>XTerm</strong>?</a></li>
+
+ <li><a href="#who_did_it">Who wrote
+ <strong>XTerm</strong>?</a></li>
+
+ <li><a href="#what_is_vt220">What is a VT220?</a></li>
+
+ <li><a href="#what_platforms">What platforms does it run
+ on?</a></li>
+
+ <li><a href="#latest_version">What is the latest
+ version?</a></li>
+
+ <li><a href="#other_versions">What versions are
+ available?</a></li>
+
+ <li><a href="#compare_versions">Comparing versions, by counting
+ controls</a></li>
+
+ <li><a href="#how_do_i">How do I ...</a></li>
+
+ <li><a href="#frequent_problems">Frequent problems</a></li>
+
+ <li><a href="#known_bugs">Known Bugs in <strong>XTerm</strong>
Reply to: