Added local-editing line discipline to make raw backend usable
[u/mdw/putty] / windlg.c
index 69f91fb..0a8f800 100644 (file)
--- a/windlg.c
+++ b/windlg.c
@@ -157,6 +157,7 @@ static void save_settings (char *section, int do_host) {
     wppi (sesskey, "NetHackKeypad", cfg.nethack_keypad);
     wppi (sesskey, "AltF4", cfg.alt_f4);
     wppi (sesskey, "AltSpace", cfg.alt_space);
+    wppi (sesskey, "LdiscTerm", cfg.ldisc_term);
     wppi (sesskey, "ScrollbackLines", cfg.savelines);
     wppi (sesskey, "DECOriginMode", cfg.dec_om);
     wppi (sesskey, "AutoWrapMode", cfg.wrap_mode);
@@ -290,6 +291,7 @@ static void load_settings (char *section, int do_host) {
     gppi (sesskey, "NetHackKeypad", 0, &cfg.nethack_keypad);
     gppi (sesskey, "AltF4", 1, &cfg.alt_f4);
     gppi (sesskey, "AltSpace", 0, &cfg.alt_space);
+    gppi (sesskey, "LdiscTerm", 0, &cfg.ldisc_term);
     gppi (sesskey, "ScrollbackLines", 200, &cfg.savelines);
     gppi (sesskey, "DECOriginMode", 0, &cfg.dec_om);
     gppi (sesskey, "AutoWrapMode", 1, &cfg.wrap_mode);
@@ -636,6 +638,7 @@ static int CALLBACK KeyboardProc (HWND hwnd, UINT msg,
                          cfg.app_keypad ? IDC1_KPAPPLIC : IDC1_KPNORMAL);
        CheckDlgButton (hwnd, IDC1_ALTF4, cfg.alt_f4);
        CheckDlgButton (hwnd, IDC1_ALTSPACE, cfg.alt_space);
+       CheckDlgButton (hwnd, IDC1_LDISCTERM, cfg.ldisc_term);
        break;
       case WM_COMMAND:
        if (HIWORD(wParam) == BN_CLICKED ||
@@ -676,6 +679,11 @@ static int CALLBACK KeyboardProc (HWND hwnd, UINT msg,
                    HIWORD(wParam) == BN_DOUBLECLICKED)
                    cfg.alt_space = IsDlgButtonChecked (hwnd, IDC1_ALTSPACE);
                break;
+             case IDC1_LDISCTERM:
+               if (HIWORD(wParam) == BN_CLICKED ||
+                   HIWORD(wParam) == BN_DOUBLECLICKED)
+                   cfg.ldisc_term = IsDlgButtonChecked (hwnd, IDC1_LDISCTERM);
+               break;
            }
     }
     return GeneralPanelProc (hwnd, msg, wParam, lParam);