Make the `vtmode' config option work under X. In the process I've
[u/mdw/putty] / wincfg.c
index 896c1bc..7e3d5c0 100644 (file)
--- a/wincfg.c
+++ b/wincfg.c
@@ -37,6 +37,7 @@ void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help,
 {
     struct controlset *s;
     union control *c;
+    char *str;
 
     if (!midsession) {
        /*
@@ -186,8 +187,9 @@ void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help,
      * additional options when working with line-drawing
      * characters.
      */
-    s = ctrl_getset(b, "Window/Translation", "linedraw",
-                   "Adjust how PuTTY displays line drawing characters");
+    str = dupprintf("Adjust how %s displays line drawing characters", appname);
+    s = ctrl_getset(b, "Window/Translation", "linedraw", str);
+    sfree(str);
     {
        int i;
        for (i = 0; i < s->ncontrols; i++) {
@@ -195,15 +197,18 @@ void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help,
            if (c->generic.type == CTRL_RADIO &&
                c->generic.context.i == offsetof(Config, vtmode)) {
                assert(c->generic.handler == dlg_stdradiobutton_handler);
-               c->radio.nbuttons += 2;
+               c->radio.nbuttons += 3;
                c->radio.buttons =
                    sresize(c->radio.buttons, c->radio.nbuttons, char *);
+               c->radio.buttons[c->radio.nbuttons-3] =
+                   dupstr("Font has XWindows encoding");
                c->radio.buttons[c->radio.nbuttons-2] =
                    dupstr("Use font in both ANSI and OEM modes");
                c->radio.buttons[c->radio.nbuttons-1] =
                    dupstr("Use font in OEM mode only");
                c->radio.buttondata =
                    sresize(c->radio.buttondata, c->radio.nbuttons, intorptr);
+               c->radio.buttondata[c->radio.nbuttons-3] = I(VT_XWINDOWS);
                c->radio.buttondata[c->radio.nbuttons-2] = I(VT_OEMANSI);
                c->radio.buttondata[c->radio.nbuttons-1] = I(VT_OEMONLY);
                if (!c->radio.shortcuts) {
@@ -215,6 +220,7 @@ void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help,
                    c->radio.shortcuts = sresize(c->radio.shortcuts,
                                                 c->radio.nbuttons, char);
                }
+               c->radio.shortcuts[c->radio.nbuttons-3] = 'x';
                c->radio.shortcuts[c->radio.nbuttons-2] = 'b';
                c->radio.shortcuts[c->radio.nbuttons-1] = 'e';
                break;