1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307
|
--------------------------------------------------------------------------
FAQ
--------------------------------------------------------------------------
-----
Q: How do I know which wterm version I'm using?
A: The version number is displayed with the usage (-help).
Also, the escape sequence `ESC[8n' sets the window title to
the version number. (try 'echo -e "\033[8n"')
-----
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 wterm to have
actual blinking text. Instead (if wterm 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:
wterm*color0: #000000
wterm*color1: #A80000
wterm*color2: #00A800
wterm*color3: #A8A800
wterm*color4: #0000A8
wterm*color5: #A800A8
wterm*color6: #00A8A8
wterm*color7: #A8A8A8
wterm*color8: #000054
wterm*color9: #FF0054
wterm*color10: #00FF54
wterm*color11: #FFFF54
wterm*color12: #0000FF
wterm*color13: #FF00FF
wterm*color14: #00FFFF
wterm*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 ^?.
Wterm tries to inherit the current stty settings and uses the value
of `erase' to guess the value for backspace. If wterm 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 wterm:
use Backspace = ^H
$ stty erase ^H
$ wterm
use Backspace = ^?
$ stty erase ^?
$ wterm
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 wterm:
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 wterm 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
`wterm -name tn3270'
!# ----- special uses ------:
! tn3270 login, remap function and arrow keys.
tn3270*font: *clean-bold-*-*--15-*
! keysym - used by wterm 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 wterm doesn't recognize.
KP_Insert == Insert
F22 == Print
F27 == Home
F29 == Prior
F33 == End
F35 == Next
A: Rather than have wterm 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 wterm or a regular xterm?
I need this to decide about setting colors etc.
A: wterm 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 wterm with DISPLAY_IS_IP then it is
possible to use the following shell script snippets to correctly set
the display. If your version of wterm wasn't also compiled with
ESCZ_ANSWER (as assumed in these snippets) then the COLORTERM
variable can be used to distinguish wterm 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 wterm 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 wterm 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 wterm or not
echo -n '^[Z'
set term_id=$<
stty icanon echo
if ( ""${term_id} == "^[[?1;2C" && ${?DISPLAY} == 0 ) then
echo -n '^[[7n' # query the wterm we're in for the DISPLAY string
setenv DISPLAY "$<" # set it in our local shell
endif
endif
--
EOF
|