Markus Kuhn's UTF-8 page
[u/mdw/putty] / unix / uxcfg.c
index 8d8d65e..fff2968 100644 (file)
@@ -117,22 +117,40 @@ void unix_setup_config_box(struct controlbox *b, int midsession, void *win)
     ctrl_fontsel(s, "Font used for bold wide text", 'i',
                 HELPCTX(no_help),
                 dlg_stdfontsel_handler, I(offsetof(Config,wideboldfont)));
-    ctrl_text(s, "If you leave the bold font selectors blank, bold text"
-              " will be displayed by overprinting (\"shadow bold\"). Note"
-              " that this only applies if you have not requested bolding"
-              " to be done by changing the text colour.",
+    ctrl_checkbox(s, "Use shadow bold instead of bold fonts", 'u',
+                 HELPCTX(no_help),
+                 dlg_stdcheckbox_handler,
+                 I(offsetof(Config,shadowbold)));
+    ctrl_text(s, "(Note that bold fonts or shadow bolding are only"
+             " used if you have not requested bolding to be done by"
+             " changing the text colour.)",
               HELPCTX(no_help));
     ctrl_editbox(s, "Horizontal offset for shadow bold:", 'z', 20,
                 HELPCTX(no_help), dlg_stdeditbox_handler,
                  I(offsetof(Config,shadowboldoffset)), I(-1));
 
     /*
+     * Markus Kuhn feels, not totally unreasonably, that it's good
+     * for all applications to shift into UTF-8 mode if they notice
+     * that they've been started with a LANG setting dictating it,
+     * so that people don't have to keep remembering a separate
+     * UTF-8 option for every application they use. Therefore,
+     * here's an override option in the Translation panel.
+     */
+    s = ctrl_getset(b, "Window/Translation", "trans",
+                   "Character set translation on received data");
+    ctrl_checkbox(s, "Override with UTF-8 if locale says so", 'l',
+                 HELPCTX(translation_utf8_override),
+                 dlg_stdcheckbox_handler,
+                 I(offsetof(Config,utf8_override)));
+
+    /*
      * Unix supports a local-command proxy. This also means we must
      * adjust the text on the `Telnet command' control.
      */
-    s = ctrl_getset(b, "Connection/Proxy", "basics", NULL);
-    {
+    if (!midsession) {
        int i;
+        s = ctrl_getset(b, "Connection/Proxy", "basics", NULL);
        for (i = 0; i < s->ncontrols; i++) {
            c = s->ctrls[i];
            if (c->generic.type == CTRL_RADIO &&