--------------------------------------------------------------------------
				   FAQ
		   (mostly inherited from rxvt distribution )
--------------------------------------------------------------------------
-----
    Q:	I'm experiencing "can't open pseudo-tty" errors when starting
	aterm. What's wrong?
    A:	Most likely you don't have Unix98 PTY configured properly.
	This was a limitation in aterm versions << 0.4.1. Aterm 0.4.1
	uses getpt() in GLIBC systems, so it should work in Linux
	systems without UNIX98_PTYS and on GNU/Hurd.
	Read README.Unix98PTY for additional configuration steps.
-----

    Q:	How do I know which aterm version I'm using?

    A:	The version number is displayed with the usage (-help),
        or to get just version number use -V,-version or --version
	Also the escape sequence `ESC[8n' sets the window title to
	the version number.

-----

    Q:	How do I enable pseudotransparency mode?

    A:	use -tr option. You can also tint background with any color,
        for better visual effect. To do that - use -tint <color> option,
	and -tinttype <type> to specify tinting function.
	Colors that looks good with fast transparency/tinting are:
	blue, green, red, yellow, magenta, cyan.
	Any color can be used with true transparency mode.
	Also use -sh % option to darken/lighten image.

-----

    Q:	Mouse cut/paste suddenly no longer works.

    A:	Make sure that mouse reporting is actually turned off since
	killing some editors prematurely may leave the mouse in mouse
	report mode.  I've heard that tcsh may use mouse reporting
	unless it otherwise specified.  A quick check is to see if
	cut/paste works when the Alt or Shift keys are depressed. See
	doc/refer.txt

-----

    Q:	What's with this bold/blink stuff?  I can never get blinking text!

    A:	It is not possible, and likely will never be, for aterm to have
	actual blinking text. Instead (if aterm was compiled without
	NO_BOLDCOLOR), bold/blink attributes are used to set high-intensity
	foreground/background colors ... like what you'd see on a PC video
	adapter.  There are programs, notably John Davis' SLang-based ones
	<ftp://space.mit.edu/pub/davis>, that use bold/blink attributes to
	permit 16 colors.

	color0-7 are the low-intensity colors.
	color8-15 are the corresponding high-intensity colors.

	A side issue of this bold/blink stuff is the question of how the
	normal default foreground/background colors are to be treated.  If
	the default foreground/background match one of the low-intensity
	colors (color0-7), the bold/blink attribute will invoke the
	appropriate high-intensity color (color8-15).

	In the case that the default foreground doesn't match one of the
	low-intensity colors, the bold attribute will use an `overstrike'
	to simulate a bold font. But note this leaves pixel-droppings and
	so, rather than wasting an inordinate amounts of energy to fix it,
	its use is simply deprecated.

	In the case that the default background doesn't match one of the
	low-intensity colors, the blink attribute is simply ignored
	(rather than representing it as bold as xterm does).

-----

    Q:	I don't like the screen colors.  How do I change them?

    A:	You can change the screen colors at run-time using ~/.Xdefaults
	resources (or as long-options) ... see the man-page.

	Here are values that are supposed to resemble a VGA screen,
	including the murky brown that passes for low-intensity yellow:

		Aterm*color0:	#000000
		Aterm*color1:	#A80000
		Aterm*color2:	#00A800
		Aterm*color3:	#A8A800
		Aterm*color4:	#0000A8
		Aterm*color5:	#A800A8
		Aterm*color6:	#00A8A8
		Aterm*color7:	#A8A8A8

		Aterm*color8:	#000054
		Aterm*color9:	#FF0054
		Aterm*color10:	#00FF54
		Aterm*color11:	#FFFF54
		Aterm*color12:	#0000FF
		Aterm*color13:	#FF00FF
		Aterm*color14:	#00FFFF
		Aterm*color15:	#FFFFFF

-----

    Q:	What's with the strange Backspace/Delete key behaviour?

    A:	Assuming that the physical Backspace key corresponds to the
	BackSpace keysym (not likely for Linux ... see the following
	question) there are two standard values that can be used for
	Backspace: ^H and ^?.

	Aterm tries to inherit the current stty settings and uses the value
	of `erase' to guess the value for backspace.  If aterm wasn't started
	from a terminal (say, from a menu or by remote shell), then the
	system value of `erase', which corresponds to CERASE in <termios.h>,
	will be used (which may not be the same as your stty setting).

	For starting a new aterm:

	    use Backspace = ^H
		$ stty erase ^H
		$ aterm

	    use Backspace = ^?
		$ stty erase ^?
		$ aterm

	NB: generate either value with BackSpace and Ctrl/Shift-BackSpace.
	    Toggle with "ESC[36h" / "ESC[36l" as documented in "doc/refer.txt"

	For an existing aterm:
	    use Backspace = ^H
		$ stty erase ^H
		$ echo -n "^[[36h"

	    use Backspace = ^?
		$ stty erase ^?
		$ echo -n "^[[36l"

	This helps satisfy some of the Backspace discrepancies that occur,
	but if you use Backspace = ^?, make sure that the termcap/terminfo
	value properly reflects that.

	The Delete key (which one would expect to emit ^?) is a another
	casualty of the ill-defined Backspace problem.  To avoid confusion
	between the Backspace and Delete keys, the Delete key has been
	assigned an escape sequence to match the vt100 for Execute (ESC[3~)
	and is in the supplied termcap/terminfo.

	Some other Backspace problems:
		some editors use termcap/terminfo,
		some editors (vim I'm told) expect Backspace = ^H,
		GNU Emacs (and Emacs-like editors) use ^H for help.

	Perhaps someday this will all be resolved in a consistent manner
	... and maybe xterm will have Home/End values too!

-----

    Q:	Why doesn't the Backspace key work on my Linux machine?

    A:	The XFree86 server has a notorious problem of mapping the Backspace
	key as Delete in order to match the Linux console.

	The correct way to fix this:

	  0 - Complain to your Linux distributer and the XFree86 team, maybe
	      they'll fix it.

	  1 - Use xmodmap to correct the Backspace mapping

		! ~/.Xmodmap

		! a correctly-mapped BackSpace
		keycode 22 = BackSpace

		*** Make sure the keycode above matches the physical
		    Backspace key on your machine!! (use xev) ***

	This will also fix the BackSpace problem with Motif applications,
	such as ``why doesn't Backspace work for Netscape?''

	You now have a Backspace key that functions as described in the
	previous question.

	  1a - You may also want to fix the regular xterm if it doesn't
	      generates the desired value for BackSpace

		xterm*vt100.translations: #override \
		<Key>BackSpace: string(\010) \n
	    or
		xterm*vt100.translations: #override \
		<Key>BackSpace: string(\177) \n

	   while you are at it, you may also want to have consistent
	   values to Home/End/Delete

		xterm*vt100.translations: #override \
		<Key>Home:	string("\033[7~") \n\
		<Key>End:	string("\033[8~") \n\
		<Key>Delete:	string("\033[3~") \n

	Finally, you can also remap the aterm key-binding at run-time (next
	question) but you'll lose the ability to have Ctrl/Shift-Backspace
	work differently as well as losing the escape sequence toggling of
	Backspace.

-----

    Q:	I don't like the key-bindings.  How do I change them?

    A:	There are some compile-time selections available in "feature.h"
	and if you've compiled with KEYSYM_RESOURCE + FAKE_RESOURCES you
	can use the `keysym' resource to alter the keystrings associated
	with keysym 0xFF00 - 0xFFFF (function, cursor keys, etc).

	Here's an example for a tn3270 session started using
	`aterm -name tn3270'

		!#  ----- special uses ------:
		! tn3270 login, remap function and arrow keys.
		tn3270*font:	*clean-bold-*-*--15-*

		! keysym - used by aterm only
		! Delete - ^D
		tn3270*keysym.0xFFFF:	\004

		! Home - ^A
		tn3270*keysym.0xFF50:	\001
		! Left - ^B
		tn3270*keysym.0xFF51:	\002
		! Up - ^P
		tn3270*keysym.0xFF52:	\020
		! Right - ^F
		tn3270*keysym.0xFF53:	\006
		! Down - ^N
		tn3270*keysym.0xFF54:	\016
		! End - ^E
		tn3270*keysym.0xFF57:	\005

		! F1 - F12
		tn3270*keysym.0xFFBE:	\e1
		tn3270*keysym.0xFFBF:	\e2
		tn3270*keysym.0xFFC0:	\e3
		tn3270*keysym.0xFFC1:	\e4
		tn3270*keysym.0xFFC2:	\e5
		tn3270*keysym.0xFFC3:	\e6
		tn3270*keysym.0xFFC4:	\e7
		tn3270*keysym.0xFFC5:	\e8
		tn3270*keysym.0xFFC6:	\e9
		tn3270*keysym.0xFFC7:	\e0
		tn3270*keysym.0xFFC8:	\e-
		tn3270*keysym.0xFFC9:	\e=

		! map Prior/Next to F7/F8
		tn3270*keysym.0xFF55:	\e7
		tn3270*keysym.0xFF56:	\e8

-----

    Q:	I'm using keyboard model XXX that has extra Prior/Next/Insert keys.
	How do I make use of them?  For example, the Sun Keyboard type 4
	has the following mappings that aterm doesn't recognize.

		KP_Insert == Insert
		F22 == Print
		F27 == Home
		F29 == Prior
		F33 == End
		F35 == Next

    A:	Rather than have aterm try to accomodate all the various possible
	keyboard mappings, it is better to use `xmodmap' to remap the
	keys as required for your particular machine.

-----

    Q:	How do I distinguish if I'm running aterm or a regular xterm?
	I need this to decide about setting colors etc.

    A:	aterm always exports the variable "COLORTERM", so you can check and
	see if that is set.  Note that several programs, JED, slrn, Midnight
	Commander automatically check this variable to decide whether or not
	to use color.

-----

    Q:	How do I set the correct, full IP address for the DISPLAY variable?

    A:	If you've compiled aterm with DISPLAY_IS_IP then it is
	possible to use the following shell script snippets to correctly set
	the display.  If your version of aterm wasn't also compiled with
	ESCZ_ANSWER (as assumed in these snippets) then the COLORTERM
	variable can be used to distinguish aterm from a regular xterm.

	Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell
	script snippets:

	# Bourne/Korn/POSIX family of shells:
	[ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
	if [ ${TERM:-foo} = xterm ]; then
	    stty -icanon -echo min 0 time 15 # see if enhanced aterm or not
	    echo -n '^[Z'
	    read term_id
	    stty icanon echo
	    if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
	        echo -n '^[[7n'		# query the aterm we are in for the DISPLAY string
	        read DISPLAY		# set it in our local shell
	    fi
	fi

	csh/tcsh family of shells:

	if ( !(${?TERM}) ) then		# if term is unset, we are probably in an xterm
	    TERM = xterm
	endif
	if ( ${TERM} =~ xterm ) then
	    stty -icanon -echo min 0 time 15   # see if enhanced aterm or not
	    echo -n '^[Z'
	    set term_id=$<
	    stty icanon echo
	    if ( ""${term_id} == "^[[?1;2C" && ${?DISPLAY} == 0 ) then
	        echo -n '^[[7n'		# query the aterm we're in for the DISPLAY string
	        setenv DISPLAY "$<"	# set it in our local shell
	    endif
	endif
--
EOF
