Two more small bugs introduced by the B-tree reorg: scroll() now
[sgt/putty] / doc / config.but
CommitLineData
e5b0d077 1\C{config} Configuring PuTTY
2
55ba634a 3This chapter describes all the configuration options in PuTTY.
4
5PuTTY is configured using the control panel that comes up before you
6start a session. Some options can also be changed in the middle of a
7session, by selecting \e{Change Settings} from the window menu.
8
9\H{config-session} The Session panel
10
11The Session configuration panel contains the basic options you need
12to specify in order to open a session at all, and also allows you to
13save your settings to be reloaded later.
14
15\S{config-hostname} The host name section
16
17The top box on the Session panel, labelled \q{Specify your
18connection by host name}, contains the details that need to be
19filled in before PuTTY can open a session at all.
20
21\b The \e{Host Name} box is where you type the name, or the IP
22address, of the server you want to connect to.
23
24\b The \e{Protocol} radio buttons let you choose what type of
25connection you want to make: a raw connection, a Telnet connection,
26or an SSH connection. \#{ FIXME: link to sections on these? }
27
28\b The \e{Port} box lets you specify which port number on the server
29to connect to. If you select Telnet or SSH, this box will be filled
30in automatically to the usual value, and you will only need to
31change it if you have an unusual server. If you select Raw mode, you
32will almost certainly need to fill in the \e{Port} box.
33
34\S{config-saving} Loading and storing saved sessions
35
36The next part of the Session configuration panel allows you to save
37your preferred PuTTY options so they will appear automatically the
38next time you start PuTTY. It also allows you to create \e{saved
39sessions}, which contain a full set of configuration options plus a
40host name and protocol. A saved session contains all the information
41PuTTY needs to start exactly the session you want.
42
43\b To save your default settings: first set up the settings the way
44you want them saved. Then come back to the Session panel. Select the
45\q{Default Settings} entry in the saved sessions list, with a single
46click. Then press the \e{Save} button.
47
48\b To save a session: first go through the rest of the configuration
49box setting up all the options you want. Then come back to the
50Session panel. Enter a name for the saved session in the \e{Saved
51Sessions} input box. (The server name is often a good choice for a
52saved session name.) Then press the \e{Save} button. Your saved
53session name should now appear in the list box.
54
55\b To reload a saved session: single-click to select the session
56name in the list box, and then press the \e{Load} button. Your saved
57settings should all appear in the configuration panel.
58
59\b To modify a saved session: first load it as described above. Then
60make the changes you want. Come back to the Session panel,
61single-click to select the session name in the list box, and press
62the \e{Save} button. The new settings will be saved over the top of
63the old ones.
64
65\b To start a saved session immediately: double-click on the session
66name in the list box.
67
68\b To delete a saved session: single-click to select the session
69name in the list box, and then press the \e{Delete} button.
70
71Each saved session is independent of the Default Settings
72configuration. If you change your preferences and update Default
73Settings, you must also update every saved session separately.
74
75\S{config-closeonexit} \q{Close Window on Exit}
76
77Finally in the Session panel, there is a check box labelled \q{Close
78Window on Exit}. If this is turned on, the PuTTY session window will
79disappear as soon as the session inside it terminates. Otherwise,
80the window will remain on the desktop until you close it yourself,
81so you can still read and copy text out of it.
82
83\H{config-terminal} The Terminal panel
84
85The Terminal configuration panel allows you to control the behaviour
86of PuTTY's terminal emulation.
87
88\S{config-autowrap} \q{Auto wrap mode initially on}
89
90Auto wrap mode controls what happens when text printed in a PuTTY
91window reaches the right-hand edge of the window.
92
93With auto wrap mode on, if a long line of text reaches the
94right-hand edge, it will wrap over on to the next line so you can
95still see all the text. With auto wrap mode off, the cursor will
96stay at the right-hand edge of the screen, and all the characters in
97the line will be printed on top of each other.
98
99If you are running a full-screen application and you occasionally
100find the screen scrolling up when it looks as if it shouldn't, you
101could try turning this option off.
102
103Auto wrap mode can be turned on and off by control sequences sent by
104the server. This configuration option only controls the \e{default}
105state. If you modify this option in mid-session using \e{Change
106Settings}, you will need to reset the terminal \#{ FIXME } before
107the change takes effect.
108
109\S{config-decom} \q{DEC Origin Mode initially on}
110
111DEC Origin Mode is a minor option which controls how PuTTY
112interprets cursor-position control sequences sent by the server.
113
114The server can send a control sequence that restricts the scrolling
115region of the display. For example, in an editor, the server might
116reserve a line at the top of the screen and a line at the bottom,
117and might send a control sequence that causes scrolling operations
118to affect only the remaining lines.
119
120With DEC Origin Mode on, cursor coordinates are counted from the top
121of the scrolling region. With it turned off, cursor coordinates are
122counted from the top of the whole screen regardless of the scrolling
123region.
124
125It is unlikely you would need to change this option, but if you find
126a full-screen application is displaying pieces of text in what looks
127like the wrong part of the screen, you could try turning DEC Origin
128Mode on to see whether that helps.
129
130DEC Origin Mode can be turned on and off by control sequences sent by
131the server. This configuration option only controls the \e{default}
132state. If you modify this option in mid-session using \e{Change
133Settings}, you will need to reset the terminal \#{ FIXME } before
134the change takes effect.
135
136\S{config-crlf} \q{Implicit CR in every LF}
137
138Most servers send two control characters, CR and LF, to start a new
139line of the screen. The CR character makes the cursor return to the
140left-hand side of the screen. The LF character makes the cursor move
141one line down (and might make the screen scroll).
142
143Some servers only send LF, and expect the terminal to move the
144cursor over to the left automatically. If you come across a server
145that does this, you will see a stepped effect on the screen, like
146this:
147
148\c First line of text
149\c Second line
150\c Third line
151
152If this happens to you, try enabling the \q{Implicit CR in every LF}
153option, and things might go back to normal:
154
155\c First line of text
156\c Second line
157\c Third line
158
159\S{config-beep} \q{Beep enabled}
160
161This option lets you turn off beeps in PuTTY. If your server is
162beeping too much or attracting unwelcome attention, you can turn the
163beeps off.
164
165\S{config-erase} \q{Use background colour to erase screen}
166
167Not all terminals agree on what colour to turn the screen when the
168server sends a \q{clear screen} sequence. Some terminals believe the
169screen should always be cleared to the \e{default} background
170colour. Others believe the screen should be cleared to whatever the
171server has selected as a background colour.
172
173There exist applications that expect both kinds of behaviour.
174Therefore, PuTTY can be configured to do either.
175
176With this option disabled, screen clearing is always done in the
177default background colour. With this option enabled, it is done in
178the \e{current} background colour.
179
180\S{config-blink} \q{Enable blinking text}
181
182The server can ask PuTTY to display text that blinks on and off.
183This is very distracting, so PuTTY allows you to turn blinking text
184off completely.
185
186\S{config-localterm} \q{Use local terminal line discipline}
187
188Normally, every character you type into the PuTTY window is sent
189straight to the server.
190
191If you enable local terminal line discipline, this changes. PuTTY
192will let you edit a whole line at a time locally, and the line will
193only be sent to the server when you press Return. If you make a
194mistake, you can use the Backspace key to correct it before you
195press Return, and the server will never see the mistake.
196
197Since it would be hard to edit a line locally without being able to
198see it, local terminal line discipline also makes PuTTY echo what
199you type. This makes it ideal for use in raw mode \#{ FIXME } or
200when connecting to MUDs or talkers.
201
202\S{config-logging} Controlling session logging
203
204PuTTY has the ability to log the output from your session into a
205file. You might want this if you were saving a particular piece of
206output to mail to somebody, for example in a bug report.
207
208You can choose between:
209
210\b not logging anything (the default)
211
212\b logging only the printable characters in a session (ignoring
213control sequences to change colours or clear the screen)
214
215\b logging everything sent to the terminal by the server.
216
217You can turn logging on and off in mid-session using \e{Change
218Settings}.
219
220\H{config-keyboard} The Keyboard panel
221
1630bb61 222The Keyboard configuration panel allows you to control the behaviour
223of the keyboard in PuTTY.
224
55ba634a 225\S{config-backspace} Changing the action of the Backspace key
226
1630bb61 227Some terminals believe that the Backspace key should send the same
228thing to the server as Control-H (ASCII code 8). Other terminals
229believe that the Backspace key should send ASCII code 127 (usually
230known as Control-?) so that it can be distinguished from Control-H.
231This option allows you to choose which code PuTTY generates when you
232press Backspace.
233
234If you are connecting to a Unix system, you will probably find that
235the Unix \c{stty} command lets you configure which the server
236expects to see, so you might not need to change which one PuTTY
237generates. On other systems, the server's expectation might be fixed
238and you might have no choice but to configure PuTTY.
239
240If you do have the choice, we recommend configuring PuTTY to
241generate Control-? and configuring the server to expect it, because
242that allows applications such as \c{emacs} to use Control-H for
243help.
244
55ba634a 245\S{config-homeend} Changing the action of the Home and End keys
246
1630bb61 247The Unix terminal emulator \c{rxvt} disagrees with the rest of the
248world about what character sequences should be sent to the server by
249the Home and End keys.
250
251\c{xterm}, and other terminals, send \c{ESC [1~} for the Home key,
252and \c{ESC [4~} for the End key. \c{rxvt} sends \c{ESC [H} for the
253Home key and \c{ESC [Ow} for the End key.
254
255If you find an application on which the Home and End keys aren't
256working, you could try switching this option to see if it helps.
257
55ba634a 258\S{config-funkeys} Changing the action of the function keys and keypad
259
1630bb61 260This option affects the function keys (F1 to F12) and the top row of
261the numeric keypad.
262
263\b In the default mode, labelled \c{ESC [n~}, the function keys
264generate sequences like \c{ESC [11~}, \c{ESC [12~} and so on. This
265matches the general behaviour of Digital's terminals.
266
267\b In Linux mode, F6 to F12 behave just like the default mode, but
268F1 to F5 generate \c{ESC [[A} through to \c{ESC [[E}. This mimics the
269Linux virtual console.
270
271\b In Xterm R6 mode, F5 to F12 behave like the default mode, but F1
272to F4 generate \c{ESC OP} through to \c{ESC OS}, which are the
273sequences produced by the top row of the \e{keypad} on Digital's
274terminals.
275
276\b In VT400 mode, all the function keys behave like the default
277mode, but the actual top row of the numeric keypad generates \c{ESC
278OP} through to \c{ESC OS}.
279
280If you don't know what any of this means, you probably don't need to
281fiddle with it.
282
55ba634a 283\S{config-appcursor} Controlling Application Cursor Keys mode
284
1630bb61 285Application Cursor Keys mode is a way for the server to change the
286control sequences sent by the arrow keys. In normal mode, the arrow
287keys send \c{ESC [A} through to \c{ESC [D}. In application mode,
288they send \c{ESC OA} through to \c{ESC OD}.
289
290Application Cursor Keys mode can be turned on and off by the server,
291depending on the application. PuTTY allows you to configure the
292initial state, and also allows you to disable application mode
293completely.
294
55ba634a 295\S{config-appkeypad} Controlling Application Keypad mode
296
1630bb61 297Application Keypad mode is a way for the server to change the
298behaviour of the numeric keypad.
299
300In normal mode, the keypad behaves like a normal Windows keypad:
301with NumLock on, the number keys generate numbers, and with NumLock
302off they act like the arrow keys and Home, End etc.
303
304In application mode, all the keypad keys send special control
305sequences, \e{including} Num Lock. Num Lock stops behaving like Num
306Lock and becomes another function key.
307
308Depending on which version of Windows you run, you may find the Num
309Lock light still flashes on and off every time you press Num Lock,
310even when application mode is active and Num Lock is acting like a
311function key. This is unavoidable.
312
313Application keypad mode can be turned on and off by the server,
314depending on the application. PuTTY allows you to configure the
315initial state, and also allows you to disable application mode
316completely.
317
55ba634a 318\S{config-nethack} Using NetHack keypad mode
319
1630bb61 320PuTTY has a special mode for playing NetHack. You can enable it by
321selecting \q{NetHack} in the \q{Initial state of numeric keypad}
322control.
323
324In this mode, the numeric keypad keys 1-9 generate the NetHack
325movement commands (\cw{hjklyubn}). The 5 key generates the \c{.}
326command (do nothing).
327
328Better still, pressing Shift with the keypad keys generates the
329capital forms of the commands (\cw{HJKLYUBN}), which tells NetHack
330to keep moving you in the same direction until you encounter
331something interesting.
332
333For some reason, this feature only works properly when Num Lock is
334on. We don't know why.
335
55ba634a 336\S{config-compose} Enabling a DEC-like Compose key
337
1630bb61 338DEC terminals have a Compose key, which provides an easy-to-remember
339way of typing accented characters. You press Compose and then type
340two more characters. The two characters are \q{combined} to produce
341an accented character. The choices of character are designed to be
342easy to remember; for example, composing \q{e} and \q{`} produces
343the \q{\u00e8{e-grave}} character.
344
345If you enable the \q{Application and AltGr act as Compose key}
346option, the Windows Application key and the AltGr key will both have
347this behaviour.
348
55ba634a 349\H{config-window} The Window panel
350
1630bb61 351The Window configuration panel allows you to control aspects of the
352PuTTY window and its behaviour.
353
55ba634a 354\S{config-winsize} Setting the size of the PuTTY window
355
1630bb61 356The \e{Rows} and \e{Columns} boxes let you set the PuTTY window to a
357precise size. Of course you can also drag the window to a new size
358while a session is running.
359
360If you are running an application which is unable to deal with
361changes in window size, you might want to enable the \q{Lock window
362size against resizing} option, which prevents the user from
363accidentally changing the size of the window.
364
55ba634a 365\S{config-scrollback} Controlling scrollback
366
1630bb61 367Text that scrolls off the top of the PuTTY terminal window is kept
368for reference. The scrollbar on the right of the window lets you
369view the scrolled-off text. You can also page through the scrollback
370using the keyboard, by pressing Shift-PgUp and Shift-PgDn.
371
372The \q{Lines of scrollback} box lets you configure how many lines of
373text PuTTY keeps. The \q{Display scrollbar} option allows you to
374hide the scrollbar (although you can still view the scrollback using
375Shift-PgUp and Shift-PgDn).
376
377If you are viewing part of the scrollback when the server sends more
378text to PuTTY, the screen will revert to showing the current
379terminal contents. You can disable this behaviour by turning off
380\q{Reset scrollback on display activity}. You can also make the
381screen revert when you press a key, by turning on \q{Reset
382scrollback on keypress}.
383
55ba634a 384\S{config-warnonclose} \q{Warn before closing window}
385
1630bb61 386If you press the Close button in a PuTTY window that contains a
387running session, PuTTY will put up a warning window asking if you
388really meant to close the window. A window whose session has already
389terminated can always be closed without a warning.
390
391If you want to be able to close a window quickly, you can disable
392the \q{Warn before closing window} option.
393
55ba634a 394\S{config-altf4} \q{Window closes on ALT-F4}
395
1630bb61 396By default, pressing ALT-F4 causes the window to close (or a warning
397box to appear; see \k{config-warnonclose}). If you disable the
398\q{Window closes on ALT-F4} option, then pressing ALT-F4 will simply
399send a key sequence to the server.
400
55ba634a 401\S{config-altspace} \q{System menu appears on ALT-Space}
402
1630bb61 403If this option is enabled, then pressing ALT-Space will bring up the
404PuTTY window's menu, like clicking on the top left corner. If it is
405disabled, then pressing ALT-Space will just send \c{ESC SPACE} to
406the server.
407
55ba634a 408\S{config-altonly} \q{System menu appears on Alt alone}
409
1630bb61 410If this option is enabled, then pressing and releasing ALT will
411bring up the PuTTY window's menu, like clicking on the top left
412corner. If it is disabled, then pressing and releasing ALT will have
413no effect.
414
55ba634a 415\S{config-alwaysontop} \q{Ensure window is always on top}
416
1630bb61 417If this option is enabled, the PuTTY window will stay on top of all
418other windows.
419
55ba634a 420\H{config-appearance} The Appearance panel
421
1630bb61 422The Appearance configuration panel allows you to control aspects of
423PuTTY's appearance.
424
55ba634a 425\S{config-cursor} Controlling the appearance of the cursor
426
26c8f51a 427The \q{Cursor appearance} option lets you configure the cursor to be
428a block, an underline, or a vertical line. A block cursor becomes an
429empty box when the window loses focus; an underline or a vertical
430line becomes dotted.
431
432The \q{Cursor blinks} option makes the cursor blink on and off. This
433works in any of the cursor modes.
55ba634a 434
435\S{config-font} Controlling the font used in the terminal window
436
26c8f51a 437
438
55ba634a 439\S{config-title} Controlling the window title
440
441\H{config-translation} The Translation panel
442
1630bb61 443The Translation configuration panel allows you to control the
444translation between the character set understood by the server and
445the character set understood by PuTTY.
446
55ba634a 447\S{config-linedraw} Line drawing characters
448
449\S{config-outputtrans} Character set translation of output data
450
451\S{config-inputtrans} Character set translation of input data
452
453\H{config-selection} The Selection panel
454
1630bb61 455The Selection panel allows you to control the way copy and paste
456work in the PuTTY window.
457
55ba634a 458\S{config-mouse} Changing the actions of the mouse buttons
459
460\S{config-charclasses} Configuring word-by-word selection
461
462\H{config-colours} The Colours panel
463
1630bb61 464The Colours panel allows you to control PuTTY's use of colour.
465
55ba634a 466\S{config-boldcolour} \q{Bolded text is a different colour}
467
468\S{config-logpalette} \q{Attempt to use logical palettes}
469
470\S{config-colourcfg} Adjusting the colours in the terminal window
471
472\H{config-connection} The Connection panel
473
1630bb61 474The Connection panel allows you to configure options that apply to
475more than one type of connection.
476
55ba634a 477\S{config-termtype} \q{Terminal-type string}
478
479\S{config-username} \q{Auto-login username}
480
481\S{config-keepalive} Using keepalives to prevent disconnection
482
483\H{config-telnet} The Telnet panel
484
1630bb61 485The Telnet panel allows you to configure options that only apply to
486Telnet sessions.
487
55ba634a 488\S{config-termspeed} \q{Terminal-speed string}
489
490\S{config-environ} Setting environment variables on the server
491
492\S{config-oldenviron} \q{Handling of OLD_ENVIRON ambiguity}
493
494\H{config-ssh} The SSH panel
495
1630bb61 496The SSH panel allows you to configure options that only apply to
497SSH sessions.
498
55ba634a 499\S{config-command} Executing a specific command on the server
500
501\S{config-auth} SSH authentication options
502
503\S{config-protocol} SSH protocol options