+ if (panel == featurespanelstart) {
+ /* The Features panel. Accelerators used: [acgoh] ukswtbrx */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Enabling and disabling advanced terminal features ",
+ IDC_TITLE_FEATURES);
+ beginbox(&cp, NULL, IDC_BOX_FEATURES1);
+ checkbox(&cp, "Disable application c&ursor keys mode", IDC_NOAPPLICC);
+ checkbox(&cp, "Disable application &keypad mode", IDC_NOAPPLICK);
+ checkbox(&cp, "Disable &xterm-style mouse reporting", IDC_NOMOUSEREP);
+ checkbox(&cp, "Disable remote-controlled terminal re&sizing",
+ IDC_NORESIZE);
+ checkbox(&cp, "Disable s&witching to alternate terminal screen",
+ IDC_NOALTSCREEN);
+ checkbox(&cp, "Disable remote-controlled window &title changing",
+ IDC_NOWINTITLE);
+ checkbox(&cp, "Disable destructive &backspace on server sending ^?",
+ IDC_NODBACKSPACE);
+ checkbox(&cp, "Disable remote-controlled cha&racter set configuration",
+ IDC_NOCHARSET);
+ endbox(&cp);
+ }
+
+ if (panel == bellpanelstart) {
+ /* The Bell panel. Accelerators used: [acgoh] bdsm wit */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Options controlling the terminal bell",
+ IDC_TITLE_BELL);
+ beginbox(&cp, "Set the style of bell", IDC_BOX_BELL1);
+ radiobig(&cp,
+ "Action to happen when a &bell occurs:", IDC_BELLSTATIC,
+ "None (bell disabled)", IDC_BELL_DISABLED,
+ "Play Windows Default Sound", IDC_BELL_DEFAULT,
+ "Play a custom sound file", IDC_BELL_WAVEFILE,
+ "Visual bell (flash window)", IDC_BELL_VISUAL, NULL);
+ editbutton(&cp, "Custom sound file to play as a bell:",
+ IDC_BELL_WAVESTATIC, IDC_BELL_WAVEEDIT,
+ "Bro&wse...", IDC_BELL_WAVEBROWSE);
+ radioline(&cp, "Taskbar/caption &indication on bell:",
+ IDC_B_IND_STATIC, 3, "Disabled", IDC_B_IND_DISABLED,
+ "Flashing", IDC_B_IND_FLASH, "Steady", IDC_B_IND_STEADY,
+ NULL);
+ endbox(&cp);
+ beginbox(&cp, "Control the bell overload behaviour",
+ IDC_BOX_BELL2);
+ checkbox(&cp, "Bell is temporarily &disabled when over-used",
+ IDC_BELLOVL);
+ staticedit(&cp, "Over-use means this &many bells...",
+ IDC_BELLOVLNSTATIC, IDC_BELLOVLN, 20);
+ staticedit(&cp, "... in &this many seconds",
+ IDC_BELLOVLTSTATIC, IDC_BELLOVLT, 20);
+ statictext(&cp,
+ "The bell is re-enabled after a few seconds of silence.",
+ 1, IDC_BELLOVLEXPLAIN);
+ staticedit(&cp, "Seconds of &silence required", IDC_BELLOVLSSTATIC,
+ IDC_BELLOVLS, 20);
+ endbox(&cp);
+ }
+
+ if (panel == keyboardpanelstart) {
+ /* The Keyboard panel. Accelerators used: [acgoh] bef rntd */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Options controlling the effects of keys",
+ IDC_TITLE_KEYBOARD);
+ beginbox(&cp, "Change the sequences sent by:", IDC_BOX_KEYBOARD1);
+ radioline(&cp, "The &Backspace key", IDC_DELSTATIC, 2,
+ "Control-H", IDC_DEL008,
+ "Control-? (127)", IDC_DEL127, NULL);
+ radioline(&cp, "The Home and &End keys", IDC_HOMESTATIC, 2,
+ "Standard", IDC_HOMETILDE, "rxvt", IDC_HOMERXVT, NULL);
+ radioline(&cp, "The &Function keys and keypad", IDC_FUNCSTATIC, 3,
+ "ESC[n~", IDC_FUNCTILDE,
+ "Linux", IDC_FUNCLINUX,
+ "Xterm R6", IDC_FUNCXTERM,
+ "VT400", IDC_FUNCVT400,
+ "VT100+", IDC_FUNCVT100P, "SCO", IDC_FUNCSCO, NULL);
+ endbox(&cp);
+ beginbox(&cp, "Application keypad settings:", IDC_BOX_KEYBOARD2);
+ radioline(&cp, "Initial state of cu&rsor keys:", IDC_CURSTATIC, 2,
+ "Normal", IDC_CURNORMAL,
+ "Application", IDC_CURAPPLIC, NULL);
+ radioline(&cp, "Initial state of &numeric keypad:", IDC_KPSTATIC,
+ 3, "Normal", IDC_KPNORMAL, "Application", IDC_KPAPPLIC,
+ "NetHack", IDC_KPNH, NULL);
+ endbox(&cp);
+ beginbox(&cp, "Enable extra keyboard features:",
+ IDC_BOX_KEYBOARD3);
+ checkbox(&cp, "AltGr ac&ts as Compose key", IDC_COMPOSEKEY);
+ checkbox(&cp, "Control-Alt is &different from AltGr",
+ IDC_CTRLALTKEYS);
+ endbox(&cp);
+ }
+
+ if (panel == windowpanelstart) {
+ /* The Window panel. Accelerators used: [acgoh] rmz sdikp */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Options controlling PuTTY's window",
+ IDC_TITLE_WINDOW);
+ beginbox(&cp, "Set the size of the window", IDC_BOX_WINDOW1);
+ multiedit(&cp,
+ "&Rows", IDC_ROWSSTATIC, IDC_ROWSEDIT, 50,
+ "Colu&mns", IDC_COLSSTATIC, IDC_COLSEDIT, 50, NULL);
+ radiobig(&cp, "When window is resi&zed:", IDC_RESIZESTATIC,
+ "Change the number of rows and columns", IDC_RESIZETERM,
+ "Change the size of the font", IDC_RESIZEFONT,
+ "Change font size only when maximised", IDC_RESIZEEITHER,
+ "Forbid resizing completely", IDC_RESIZENONE, NULL);
+ endbox(&cp);
+ beginbox(&cp, "Control the scrollback in the window",
+ IDC_BOX_WINDOW2);
+ staticedit(&cp, "Lines of &scrollback",
+ IDC_SAVESTATIC, IDC_SAVEEDIT, 50);
+ checkbox(&cp, "&Display scrollbar", IDC_SCROLLBAR);
+ checkbox(&cp, "D&isplay scrollbar in full screen mode", IDC_SCROLLBARFULLSCREEN);
+ checkbox(&cp, "Reset scrollback on &keypress", IDC_SCROLLKEY);
+ checkbox(&cp, "Reset scrollback on dis&play activity",
+ IDC_SCROLLDISP);
+ endbox(&cp);
+ }
+
+ if (panel == appearancepanelstart) {
+ /* The Appearance panel. Accelerators used: [acgoh] luvb n ti p s */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Configure the appearance of PuTTY's window",
+ IDC_TITLE_APPEARANCE);
+ beginbox(&cp, "Adjust the use of the cursor", IDC_BOX_APPEARANCE1);
+ radioline(&cp, "Cursor appearance:", IDC_CURSORSTATIC, 3,
+ "B&lock", IDC_CURBLOCK,
+ "&Underline", IDC_CURUNDER,
+ "&Vertical line", IDC_CURVERT, NULL);
+ checkbox(&cp, "Cursor &blinks", IDC_BLINKCUR);
+ endbox(&cp);
+ beginbox(&cp, "Set the font used in the terminal window",
+ IDC_BOX_APPEARANCE2);
+ staticbtn(&cp, "", IDC_FONTSTATIC, "Cha&nge...", IDC_CHOOSEFONT);
+ endbox(&cp);
+ beginbox(&cp, "Adjust the use of the window title",
+ IDC_BOX_APPEARANCE3);
+ multiedit(&cp,
+ "Window &title:", IDC_WINTITLE, IDC_WINEDIT, 100, NULL);
+ checkbox(&cp, "Avoid ever using &icon title", IDC_WINNAME);
+ endbox(&cp);
+ beginbox(&cp, "Adjust the use of the mouse pointer",
+ IDC_BOX_APPEARANCE4);
+ checkbox(&cp, "Hide mouse &pointer when typing in window",
+ IDC_HIDEMOUSE);
+ endbox(&cp);
+ beginbox(&cp, "Adjust the window border", IDC_BOX_APPEARANCE5);
+ checkbox(&cp, "&Sunken-edge border (slightly thicker)",
+ IDC_SUNKENEDGE);
+ staticedit(&cp, "Gap between text and window edge",
+ IDC_WINBSTATIC, IDC_WINBEDIT, 20);
+ endbox(&cp);
+ }
+
+ if (panel == behaviourpanelstart) {
+ /* The Behaviour panel. Accelerators used: [acgoh] w4yltf */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Configure the behaviour of PuTTY's window",
+ IDC_TITLE_WINDOW);
+ beginbox(&cp, NULL, IDC_BOX_BEHAVIOUR1);
+ checkbox(&cp, "&Warn before closing window", IDC_CLOSEWARN);
+ checkbox(&cp, "Window closes on ALT-F&4", IDC_ALTF4);
+ checkbox(&cp, "S&ystem menu appears on ALT-Space", IDC_ALTSPACE);
+ checkbox(&cp, "System menu appears on A< alone", IDC_ALTONLY);
+ checkbox(&cp, "Ensure window is always on &top", IDC_ALWAYSONTOP);
+ checkbox(&cp, "&Full screen on Alt-Enter", IDC_FULLSCREENONALTENTER);
+ endbox(&cp);
+ }
+
+ if (panel == translationpanelstart) {
+ /* The Translation panel. Accelerators used: [acgoh] rxbepus */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Options controlling character set translation",
+ IDC_TITLE_TRANSLATION);
+ beginbox(&cp, "Character set translation on received data",
+ IDC_BOX_TRANSLATION1);
+ combobox(&cp, "&Received data assumed to be in which character set:",
+ IDC_CODEPAGESTATIC, IDC_CODEPAGE);
+ endbox(&cp);
+ beginbox(&cp, "Enable character set translation on input data",
+ IDC_BOX_TRANSLATION2);
+ checkbox(&cp, "Cap&s Lock acts as Cyrillic switch",
+ IDC_CAPSLOCKCYR);
+ endbox(&cp);
+ beginbox(&cp, "Adjust how PuTTY displays line drawing characters",
+ IDC_BOX_TRANSLATION3);
+ radiobig(&cp,
+ "Handling of line drawing characters:", IDC_VTSTATIC,
+ "Font has &XWindows encoding", IDC_VTXWINDOWS,
+ "Use font in &both ANSI and OEM modes", IDC_VTOEMANSI,
+ "Use font in O&EM mode only", IDC_VTOEMONLY,
+ "&Poor man's line drawing (" "+" ", " "-" " and " "|" ")",
+ IDC_VTPOORMAN, "&Unicode mode", IDC_VTUNICODE, NULL);
+ endbox(&cp);
+ }
+
+ if (panel == selectionpanelstart) {
+ /* The Selection panel. Accelerators used: [acgoh] df wxp est nr */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Options controlling copy and paste",
+ IDC_TITLE_SELECTION);
+ beginbox(&cp, "Translation of pasted characters",
+ IDC_BOX_SELECTION1);
+ checkbox(&cp,
+ "&Don't translate line drawing chars into +, - and |",
+ IDC_RAWCNP);
+ checkbox(&cp,
+ "Paste to clipboard in RT&F as well as plain text",
+ IDC_RTFPASTE);
+ endbox(&cp);
+ beginbox(&cp, "Control which mouse button does which thing",
+ IDC_BOX_SELECTION2);
+ radiobig(&cp, "Action of mouse buttons:", IDC_MBSTATIC,
+ "&Windows (Right pastes, Middle extends)", IDC_MBWINDOWS,
+ "&xterm (Right extends, Middle pastes)", IDC_MBXTERM,
+ NULL);
+ checkbox(&cp,
+ "Shift overrides a&pplication's use of mouse",
+ IDC_MOUSEOVERRIDE);
+ radioline(&cp,
+ "Default selection mode (Alt+drag does the other one):",
+ IDC_SELTYPESTATIC, 2,
+ "&Normal", IDC_SELTYPELEX,
+ "&Rectangular block", IDC_SELTYPERECT, NULL);
+ endbox(&cp);
+ beginbox(&cp, "Control the select-one-word-at-a-time mode",
+ IDC_BOX_SELECTION3);
+ charclass(&cp, "Charact&er classes:", IDC_CCSTATIC, IDC_CCLIST,
+ "&Set", IDC_CCSET, IDC_CCEDIT,
+ "&to class", IDC_CCSTATIC2);
+ endbox(&cp);
+ }
+
+ if (panel == colourspanelstart) {
+ /* The Colours panel. Accelerators used: [acgoh] blum */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Options controlling use of colours",
+ IDC_TITLE_COLOURS);
+ beginbox(&cp, "General options for colour usage",
+ IDC_BOX_COLOURS1);
+ checkbox(&cp, "&Bolded text is a different colour",
+ IDC_BOLDCOLOUR);
+ checkbox(&cp, "Attempt to use &logical palettes", IDC_PALETTE);
+ endbox(&cp);
+ beginbox(&cp, "Adjust the precise colours PuTTY displays",
+ IDC_BOX_COLOURS2);
+ colouredit(&cp, "Select a colo&ur and then click to modify it:",
+ IDC_COLOURSTATIC, IDC_COLOURLIST,
+ "&Modify...", IDC_CHANGE,
+ "Red:", IDC_RSTATIC, IDC_RVALUE,
+ "Green:", IDC_GSTATIC, IDC_GVALUE,
+ "Blue:", IDC_BSTATIC, IDC_BVALUE, NULL);
+ endbox(&cp);
+ }
+
+ if (panel == connectionpanelstart) {
+ /* The Connection panel. Accelerators used: [acgoh] tukn */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Options controlling the connection",
+ IDC_TITLE_CONNECTION);
+ if (dlgtype == 0) {
+ beginbox(&cp, "Data to send to the server",
+ IDC_BOX_CONNECTION1);
+ staticedit(&cp, "Terminal-&type string", IDC_TTSTATIC,
+ IDC_TTEDIT, 50);
+ staticedit(&cp, "Auto-login &username", IDC_LOGSTATIC,
+ IDC_LOGEDIT, 50);
+ endbox(&cp);
+ } else {
+ beginbox(&cp, "Adjust telnet session.", IDC_BOX_CONNECTION1);
+ checkbox(&cp, "Keyboard sends telnet Backspace and Interrupt",
+ IDC_TELNETKEY);
+ checkbox(&cp, "Return key sends telnet New Line instead of ^M",
+ IDC_TELNETRET);
+ endbox(&cp);
+ }
+ beginbox(&cp, "Sending of null packets to keep session active",
+ IDC_BOX_CONNECTION2);
+ staticedit(&cp, "Seconds between &keepalives (0 to turn off)",
+ IDC_PINGSTATIC, IDC_PINGEDIT, 20);
+ endbox(&cp);
+ if (dlgtype == 0) {
+ beginbox(&cp, "Low-level TCP connection options",
+ IDC_BOX_CONNECTION3);
+ checkbox(&cp, "Disable &Nagle's algorithm (TCP_NODELAY option)",
+ IDC_NODELAY);
+ endbox(&cp);