Proper support for using the font's own character encoding. If we
[u/mdw/putty] / unix / pterm.1
1 .TH pterm 1
2 .UC
3 .SH NAME
4 pterm \- yet another X terminal emulator
5 .SH SYNOPSIS
6 \fBpterm\fP [ \fIoptions\fP ]
7 .SH DESCRIPTION
8 \fIpterm\fP is a terminal emulator for X. It is based on a port of
9 the terminal emulation engine in the Windows SSH client PuTTY.
10 .SH OPTIONS
11 The command-line options supported by \fIpterm\fP are:
12 .IP "\fB\-e\fP \fIcommand\fP [ \fIarguments\fP ]"
13 Specify a command to be executed in the new terminal. Everything on
14 the command line after this option will be passed straight to the
15 \fIexecvp\fP system call; so if you need the command to redirect its
16 input or output, you will have to use \fIsh\fP:
17
18 pterm \-e sh \-c 'mycommand < inputfile'
19 .IP "\fB\-\-display\fP \fIdisplay\-name\fP"
20 Specify the X display on which to open \fIpterm\fP. (Note this
21 option has a double minus sign, even though none of the others do.
22 This is because this option is supplied automatically by GTK.
23 Sorry.)
24 .IP "\fB\-name\fP \fIfont-name\fP"
25 Specify the name under which \fIpterm\fP looks up X resources.
26 Normally it will look them up as (for example) \fBpterm.Font\fP. If
27 you specify "\-name xyz", it will look them up as \fBxyz.Font\fP
28 instead. This allows you to set up several different sets of
29 defaults and choose between them.
30 .IP "\fB\-fn\fP \fIfont-name\fP"
31 Specify the font to use for normal text displayed in the terminal.
32 .IP "\fB\-fb\fP \fIfont-name\fP"
33 Specify the font to use for bold text displayed in the terminal. If
34 the \fIBoldAsColour\fP resource is set to 1 (the default), bold text
35 will be displayed in different colours instead of a different font,
36 so this option will be ignored. If \fIBoldAsColour\fP is set to 0
37 and you do not specify a bold font, \fIpterm\fP will overprint the
38 normal font to make it look bolder.
39 .IP "\fB\-fw\fP \fIfont-name\fP"
40 Specify the font to use for double-width characters (typically
41 Chinese, Japanese and Korean text) displayed in the terminal.
42 .IP "\fB\-fwb\fP \fIfont-name\fP"
43 Specify the font to use for bold double-width characters (typically
44 Chinese, Japanese and Korean text) Like \fI-fb\fP, this will be
45 ignored unless the \fIBoldAsColour\fP resource is set to 0.
46 .IP "\fB\-geometry\fP \fIwidth\fPx\fIheight\fP"
47 Specify the size of the terminal, in rows and columns of text.
48 Unfortunately \fIpterm\fP does not currently support specifying the
49 initial position of the window.
50 .IP "\fB\-sl\fP \fIlines\fP"
51 Specify the number of lines of scrollback to save off the top of the
52 terminal.
53 .IP "\fB\-fg\fP \fIcolour\fP"
54 Specify the foreground colour to use for normal text.
55 .IP "\fB\-bg\fP \fIcolour\fP"
56 Specify the background colour to use for normal text.
57 .IP "\fB\-bfg\fP \fIcolour\fP"
58 Specify the foreground colour to use for bold text, if the
59 \fIBoldAsColour\fP resource is set to 1 (the default).
60 .IP "\fB\-bbg\fP \fIcolour\fP"
61 Specify the foreground colour to use for bold reverse-video text, if
62 the \fIBoldAsColour\fP resource is set to 1 (the default). (This
63 colour is best thought of as the bold version of the background
64 colour; so it only appears when text is displayed \fIin\fP the
65 background colour.)
66 .IP "\fB\-cfg\fP \fIcolour\fP"
67 Specify the foreground colour to use for text covered by the cursor.
68 .IP "\fB\-cbg\fP \fIcolour\fP"
69 Specify the background colour to use for text covered by the cursor.
70 In other words, this is the main colour of the cursor.
71 .IP "\fB\-T\fP \fItitle\fP"
72 Specify the initial title of the terminal window. (This can be
73 changed under control of the server.)
74 .IP "\fB\-ut\-\fP or \fB+ut\fP"
75 Tells \fIpterm\fP not to record your login in the \fIutmp\fP,
76 \fIwtmp\fP and \fIlastlog\fP system log files; so you will not show
77 up on \fIfinger\fP or \fIwho\fP listings, for example.
78 .IP "\fB\-ut\fP"
79 Tells \fIpterm\fP to record your login in \fIutmp\fP, \fIwtmp\fP and
80 \fIlastlog\fP: this is the opposite of \fI\-ut\-\fP. This is the
81 default option: you will probably only need to specify it explicitly
82 if you have changed the default using the \fIStampUtmp\fP resource.
83 .IP "\fB\-ls\-\fP or \fB+ls\fP"
84 Tells \fIpterm\fP not to execute your shell as a login shell.
85 .IP "\fB\-ls\fP"
86 Tells \fIpterm\fP to execute your shell as a login shell: this is
87 the opposite of \fI\-ls\-\fP. This is the default option: you will
88 probably only need to specify it explicitly if you have changed the
89 default using the \fILoginShell\fP resource.
90 .IP "\fB\-sb\-\fP or \fB+sb\fP"
91 Tells \fIpterm\fP not to display a scroll bar.
92 .IP "\fB\-sb\fP"
93 Tells \fIpterm\fP to display a scroll bar: this is the opposite of
94 \fI\-sb\-\fP. This is the default option: you will probably only need
95 to specify it explicitly if you have changed the default using the
96 \fIScrollBar\fP resource.
97 .IP "\fB\-log\fP \fIfilename\fP"
98 This option makes \fIpterm\fP log all the terminal output to a file
99 as well as displaying it in the terminal.
100 .IP "\fB\-cs\fP \fIcharset\fP"
101 This option specifies the character set in which \fIpterm\fP should
102 assume the session is operating. This character set will be used to
103 interpret all the data received from the session, and all input you
104 type or paste into \fIpterm\fP will be converted into this character
105 set before being sent to the session.
106
107 Any character set name which is valid in a MIME header (and
108 supported by \fIpterm\fP) should be valid here (examples are
109 "ISO-8859-1", "windows-1252" or "UTF-8"). Also, any character
110 encoding which is valid in an X logical font description should be
111 valid ("ibm-cp437", for example).
112
113 \fIpterm\fP's default behaviour is to use the same character
114 encoding as its primary font. If you supply a Unicode (iso10646-1)
115 font, it will default to the UTF-8 character set.
116
117 Character set names are case-insensitive.
118 .IP "\fB\-nethack\fP"
119 Tells \fIpterm\fP to enable NetHack keypad mode, in which the
120 numeric keypad generates the NetHack "hjklyubn" direction keys. This
121 enables you to play NetHack with the numeric keypad without having
122 to use the NetHack "number_pad" option (which requires you to press
123 "n" before any repeat count). So you can move with the numeric
124 keypad, and enter repeat counts with the normal number keys.
125 .IP "\fB\-xrm\fP \fIresource-string\fP"
126 This option specifies an X resource string. Useful for setting
127 resources which do not have their own command-line options. For
128 example:
129
130 pterm \-xrm 'ScrollbarOnLeft: 1'
131 .IP "\fB\-help\fP, \fB\-\-help\fP"
132 Display a message summarizing the available options
133 .SH X RESOURCES
134 \fIpterm\fP can be more completely configured by means of X
135 resources. All of these resources are of the form \fIpterm.FOO\fP
136 for some FOO; you can make \fIpterm\fP look them up under another
137 name, such as \fIxyz.FOO\fP, by specifying the command-line option
138 "\-name xyz".
139 .IP "\fBpterm.CloseOnExit\fP"
140 This option should be set to 0, 1 or 2; the default is 2. It
141 controls what \fIpterm\fP does when the process running inside it
142 terminates. When set to 2 (the default), \fIpterm\fP will close its
143 window as soon as the process inside it terminates. When set to 0,
144 \fIpterm\fP will print the process's exit status, and the window
145 will remain present until a key is pressed (allowing you to inspect
146 the scrollback, and copy and paste text out of it).
147
148 When this setting is set to 1, \fIpterm\fP will close
149 immediately if the process exits cleanly (with an exit status of
150 zero), but the window will stay around if the process exits with a
151 non-zero code or on a signal. This enables you to see what went
152 wrong if the process suffers an error, but not to have to bother
153 closing the window in normal circumstances.
154 .IP "\fBpterm.TerminalType\fP"
155 This controls the value set in the TERM environment variable inside
156 the new terminal. The default is "xterm".
157 .IP "\fBpterm.BackspaceIsDelete\fP"
158 This option should be set to either 0 or 1; the default is 1. When
159 set to 0, the ordinary Backspace key generates the Backspace
160 character (^H); when set to 1, it generates the Delete character
161 (^?). Whichever one you set, the terminal device inside \fIpterm\fP
162 will be set up to expect it.
163 .IP "\fBpterm.RXVTHomeEnd\fP"
164 This option should be set to either 0 or 1; the default is 0. When
165 it is set to 1, the Home and End keys generate the control sequences
166 they would generate in the \fIrxvt\fP terminal emulator, instead of
167 the more usual ones generated by other emulators.
168 .IP "\fBpterm.LinuxFunctionKeys\fP"
169 This option can be set to any number between 0 and 5 inclusive; the
170 default is 0. The modes vary the control sequences sent by the
171 function keys; for more complete documentation, it is probably
172 simplest to try each option in "pterm \-e cat", and press the keys to
173 see what they generate.
174 .IP "\fBpterm.NoApplicationKeys\fP"
175 This option should be set to either 0 or 1; the default is 0. When
176 set to 1, it stops the server from ever switching the numeric keypad
177 into application mode (where the keys send function-key-like
178 sequences instead of numbers or arrow keys). You probably only need
179 this if some application is making a nuisance of itself.
180 .IP "\fBpterm.NoApplicationCursors\fP"
181 This option should be set to either 0 or 1; the default is 0. When
182 set to 1, it stops the server from ever switching the cursor keys
183 into application mode (where the keys send slightly different
184 sequences). You probably only need this if some application is
185 making a nuisance of itself.
186 .IP "\fBpterm.NoMouseReporting\fP"
187 This option should be set to either 0 or 1; the default is 0. When
188 set to 1, it stops the server from ever enabling mouse reporting
189 mode (where mouse clicks are sent to the application instead of
190 controlling cut and paste).
191 .IP "\fBpterm.NoRemoteResize\fP"
192 This option should be set to either 0 or 1; the default is 0. When
193 set to 1, it stops the server from being able to remotely control
194 the size of the \fIpterm\fP window.
195 .IP "\fBpterm.NoAltScreen\fP"
196 This option should be set to either 0 or 1; the default is 0. When
197 set to 1, it stops the server from using the "alternate screen"
198 terminal feature, which lets full-screen applications leave the
199 screen exactly the way they found it.
200 .IP "\fBpterm.NoRemoteWinTitle\fP"
201 This option should be set to either 0 or 1; the default is 0. When
202 set to 1, it stops the server from remotely controlling the title of
203 the \fIpterm\fP window.
204 .IP "\fBpterm.NoDBackspace\fP"
205 This option should be set to either 0 or 1; the default is 0. When
206 set to 1, it disables the normal action of the Delete (^?) character
207 when sent from the server to the terminal, which is to move the
208 cursor left by one space and erase the character now under it.
209 .IP "\fBpterm.ApplicationCursorKeys\fP"
210 This option should be set to either 0 or 1; the default is 0. When
211 set to 1, the default initial state of the cursor keys are
212 application mode (where the keys send function-key-like sequences
213 instead of numbers or arrow keys). When set to 0, the default state
214 is the normal one.
215 .IP "\fBpterm.ApplicationKeypad\fP"
216 This option should be set to either 0 or 1; the default is 0. When
217 set to 1, the default initial state of the numeric keypad is
218 application mode (where the keys send function-key-like sequences
219 instead of numbers or arrow keys). When set to 0, the default state
220 is the normal one.
221 .IP "\fBpterm.NetHackKeypad\fP"
222 This option should be set to either 0 or 1; the default is 0. When
223 set to 1, the numeric keypad operates in NetHack mode. This is
224 equivalent to the \fI\-nethack\fP command-line option.
225 .IP "\fBpterm.Answerback\fP"
226 This option controls the string which the terminal sends in response
227 to receiving the ^E character ("tell me about yourself"). By default
228 this string is "PuTTY".
229 .IP "\fBpterm.HideMousePtr\fP"
230 This option should be set to either 0 or 1; the default is 0. When
231 it is set to 1, the mouse pointer will disappear if it is over the
232 \fIpterm\fP window and you press a key. It will reappear as soon as
233 you move it.
234 .IP "\fBpterm.WindowBorder\fP"
235 This option controls the number of pixels of space between the text
236 in the \fIpterm\fP window and the window frame. The default is 1.
237 You can increase this value, but decreasing it to 0 is not
238 recommended because it can cause the window manager's size hints to
239 work incorrectly.
240 .IP "\fBpterm.CurType\fP"
241 This option should be set to either 0, 1 or 2; the default is 0.
242 When set to 0, the text cursor displayed in the window is a
243 rectangular block. When set to 1, the cursor is an underline; when
244 set to 2, it is a vertical line.
245 .IP "\fBpterm.BlinkCur\fP"
246 This option should be set to either 0 or 1; the default is 0. When
247 it is set to 1, the text cursor will blink when the window is active.
248 .IP "\fBpterm.Beep\fP"
249 This option should be set to either 0 or 2 (yes, 2); the default is
250 0. When it is set to 2, \fIpterm\fP will respond to a bell character
251 (^G) by flashing the window instead of beeping.
252 .IP "\fBpterm.BellOverload\fP"
253 This option should be set to either 0 or 1; the default is 0. When
254 it is set to 1, \fIpterm\fP will watch out for large numbers of
255 bells arriving in a short time and will temporarily disable the bell
256 until they stop. The idea is that if you \fIcat\fP a binary file,
257 the frantic beeping will mostly be silenced by this feature and will
258 not drive you crazy.
259
260 The bell overload mode is activated by receiving N bells in time T;
261 after a further time S without any bells, overload mode will turn
262 itself off again.
263
264 Bell overload mode is always deactivated by any keypress in the
265 terminal. This means it can respond to large unexpected streams of
266 data, but does not interfere with ordinary command-line activities
267 that generate beeps (such as filename completion).
268 .IP "\fBpterm.BellOverloadN\fP"
269 This option counts the number of bell characters which will activate
270 bell overload if they are received within a length of time T. The
271 default is 5.
272 .IP "\fBpterm.BellOverloadT\fP"
273 This option specifies the time period in which receiving N or more
274 bells will activate bell overload mode. It is measured in
275 microseconds, so (for example) set it to 1000000 for one second. The
276 default is 2000000 (two seconds).
277 .IP "\fBpterm.BellOverloadS\fP"
278 This option specifies the time period of silence required to turn
279 off bell overload mode. It is measured in microseconds, so (for
280 example) set it to 1000000 for one second. The default is 5000000
281 (five seconds of silence).
282 .IP "\fBpterm.ScrollbackLines\fP"
283 This option specifies how many lines of scrollback to save above the
284 visible terminal screen. The default is 200. This resource is
285 equivalent to the \fI\-sl\fP command-line option.
286 .IP "\fBpterm.DECOriginMode\fP"
287 This option should be set to either 0 or 1; the default is 0. It
288 specifies the default state of DEC Origin Mode. (If you don't know
289 what that means, you probably don't need to mess with it.)
290 .IP "\fBpterm.AutoWrapMode\fP"
291 This option should be set to either 0 or 1; the default is 1. It
292 specifies the default state of auto wrap mode. When set to 1, very
293 long lines will wrap over to the next line on the terminal; when set
294 to 0, long lines will be squashed against the right-hand edge of the
295 screen.
296 .IP "\fBpterm.LFImpliesCR\fP"
297 This option should be set to either 0 or 1; the default is 0. When
298 set to 1, the terminal will return the cursor to the left side of
299 the screen when it receives a line feed character.
300 .IP "\fBpterm.WinTitle\fP"
301 This resource is the same as the \fI\-T\fP command-line option: it
302 controls the initial title of the window. The default is "pterm".
303 .IP "\fBpterm.TermWidth\fP"
304 This resource is the same as the width part of the \fI\-geometry\fP
305 command-line option: it controls the number of columns of text in
306 the window. The default is 80.
307 .IP "\fBpterm.TermHeight\fP"
308 This resource is the same as the width part of the \fI\-geometry\fP
309 command-line option: it controls the number of columns of text in
310 the window. The defaults is 24.
311 .IP "\fBpterm.Font\fP"
312 This resource is the same as the \fI\-fn\fP command-line option: it
313 controls the font used to display normal text. The default is
314 "fixed".
315 .IP "\fBpterm.BoldFont\fP"
316 This resource is the same as the \fI\-fb\fP command-line option: it
317 controls the font used to display bold text when \fIBoldAsColour\fP
318 is turned off. The default is unset (the font will be bolded by
319 printing it twice at a one-pixel offset).
320 .IP "\fBpterm.WideFont\fP"
321 This resource is the same as the \fI\-fw\fP command-line option: it
322 controls the font used to display double-width characters. The
323 default is unset (double-width characters cannot be displayed).
324 .IP "\fBpterm.WideBoldFont\fP"
325 This resource is the same as the \fI\-fwb\fP command-line option: it
326 controls the font used to display double-width characters in bold,
327 when \fIBoldAsColour\fP is turned off. The default is unset
328 (double-width characters are displayed in bold by printing them
329 twice at a one-pixel offset).
330 .IP "\fBpterm.ShadowBoldOffset\fP"
331 This resource can be set to an integer; the default is \-1. It
332 specifies the offset at which text is overprinted when using "shadow
333 bold" mode. The default (1) means that the text will be printed in
334 the normal place, and also one character to the right; this seems to
335 work well for most X bitmap fonts, which have a blank line of pixels
336 down the right-hand side. For some fonts, you may need to set this to
337 \-1, so that the text is overprinted one pixel to the left; for
338 really large fonts, you may want to set it higher than 1 (in one
339 direction or the other).
340 .IP "\fBpterm.BoldAsColour\fP"
341 This option should be set to either 0 or 1; the default is 1. It
342 specifies the default state of auto wrap mode. When set to 1, bold
343 text is shown by displaying it in a brighter colour; when set to 0,
344 bold text is shown by displaying it in a heavier font.
345 .IP "\fBpterm.Colour0\fP, \fBpterm.Colour1\fP, ..., \fBpterm.Colour21\fP"
346 These options control the various colours used to display text in
347 the \fIpterm\fP window. Each one should be specified as a triple of
348 decimal numbers giving red, green and blue values: so that black is
349 "0,0,0", white is "255,255,255", red is "255,0,0" and so on.
350
351 Colours 0 and 1 specify the foreground colour and its bold
352 equivalent (the \fI\-fg\fP and \fI\-bfg\fP command-line options).
353 Colours 2 and 3 specify the background colour and its bold
354 equivalent (the \fI\-bg\fP and \fI\-bbg\fP command-line options).
355 Colours 4 and 5 specify the text and block colours used for the
356 cursor (the \fI\-cfg\fP and \fI\-cbg\fP command-line options). Each
357 even number from 6 to 20 inclusive specifies the colour to be used
358 for one of the ANSI primary colour specifications (black, red,
359 green, yellow, blue, magenta, cyan, white, in that order); the odd
360 numbers from 7 to 21 inclusive specify the bold version of each
361 colour, in the same order. The defaults are:
362
363 .nf
364 pterm.Colour0: 187,187,187
365 pterm.Colour1: 255,255,255
366 pterm.Colour2: 0,0,0
367 pterm.Colour3: 85,85,85
368 pterm.Colour4: 0,0,0
369 pterm.Colour5: 0,255,0
370 pterm.Colour6: 0,0,0
371 pterm.Colour7: 85,85,85
372 pterm.Colour8: 187,0,0
373 pterm.Colour9: 255,85,85
374 pterm.Colour10: 0,187,0
375 pterm.Colour11: 85,255,85
376 pterm.Colour12: 187,187,0
377 pterm.Colour13: 255,255,85
378 pterm.Colour14: 0,0,187
379 pterm.Colour15: 85,85,255
380 pterm.Colour16: 187,0,187
381 pterm.Colour17: 255,85,255
382 pterm.Colour18: 0,187,187
383 pterm.Colour19: 85,255,255
384 pterm.Colour20: 187,187,187
385 pterm.Colour21: 255,255,255
386 .fi
387 .IP "\fBpterm.RectSelect\fP"
388 This option should be set to either 0 or 1; the default is 0. When
389 set to 0, dragging the mouse over several lines selects to the end
390 of each line and from the beginning of the next; when set to 1,
391 dragging the mouse over several lines selects a rectangular region.
392 In each case, holding down Alt while dragging gives the other
393 behaviour.
394 .IP "\fBpterm.MouseOverride\fP"
395 This option should be set to either 0 or 1; the default is 1. When
396 set to 1, if the application requests mouse tracking (so that mouse
397 clicks are sent to it instead of doing selection), holding down
398 Shift will revert the mouse to normal selection. When set to 0,
399 mouse tracking completely disables selection.
400 .IP "\fBpterm.Printer\fP"
401 This option is unset by default. If you set it, then
402 server-controlled printing is enabled: the server can send control
403 sequences to request data to be sent to a printer. That data will be
404 piped into the command you specify here; so you might want to set it
405 to "lpr", for example, or "lpr \-Pmyprinter".
406 .IP "\fBpterm.ScrollBar\fP"
407 This option should be set to either 0 or 1; the default is 1. When
408 set to 0, the scrollbar is hidden (although Shift-PageUp and
409 Shift-PageDown still work). This is the same as the \fI\-sb\fP
410 command-line option.
411 .IP "\fBpterm.ScrollbarOnLeft\fP"
412 This option should be set to either 0 or 1; the default is 0. When
413 set to 1, the scrollbar will be displayed on the left of the
414 terminal instead of on the right.
415 .IP "\fBpterm.ScrollOnKey\fP"
416 This option should be set to either 0 or 1; the default is 0. When
417 set to 1, any keypress causes the position of the scrollback to be
418 reset to the very bottom.
419 .IP "\fBpterm.ScrollOnDisp\fP"
420 This option should be set to either 0 or 1; the default is 1. When
421 set to 1, any activity in the display causes the position of the
422 scrollback to be reset to the very bottom.
423 .IP "\fBpterm.LineCodePage\fP"
424 This option specifies the character set to be used for the session.
425 This is the same as the \fI\-cs\fP command-line option.
426 .IP "\fBpterm.NoRemoteCharset\fP"
427 This option disables the terminal's ability to change its character
428 set when it receives escape sequences telling it to. You might need
429 to do this to interoperate with programs which incorrectly change
430 the character set to something they think is sensible.
431 .IP "\fBpterm.BCE\fP"
432 This option should be set to either 0 or 1; the default is 1. When
433 set to 1, the various control sequences that erase parts of the
434 terminal display will erase in whatever the current background
435 colour is; when set to 0, they will erase in black always.
436 .IP "\fBpterm.BlinkText\fP"
437 This option should be set to either 0 or 1; the default is 0. When
438 set to 1, text specified as blinking by the server will actually
439 blink on and off; when set to 0, \fIpterm\fP will use the less
440 distracting approach of making the text's background colour bold.
441 .IP "\fBpterm.StampUtmp\fP"
442 This option should be set to either 0 or 1; the default is 1. When
443 set to 1, \fIpterm\fP will log the login in the various system log
444 files. This resource is equivalent to the \fI\-ut\fP command-line
445 option.
446 .IP "\fBpterm.LoginShell\fP"
447 This option should be set to either 0 or 1; the default is 1. When
448 set to 1, \fIpterm\fP will execute your shell as a login shell. This
449 resource is equivalent to the \fI\-ls\fP command-line option.
450 .SH BUGS
451 Most of the X resources have silly names. (Historical reasons from
452 PuTTY, mostly.)
453
454 Character-set switching and Unicode are not yet supported.