int logtype;
int logxfovr;
int hide_mouseptr;
+ int sunken_edge;
char answerback[256];
/* Colour options */
int try_palette;
write_setting_s (sesskey, "Answerback", cfg->answerback);
write_setting_i (sesskey, "AlwaysOnTop", cfg->alwaysontop);
write_setting_i (sesskey, "HideMousePtr", cfg->hide_mouseptr);
+ write_setting_i (sesskey, "SunkenEdge", cfg->sunken_edge);
write_setting_i (sesskey, "CurType", cfg->cursor_type);
write_setting_i (sesskey, "BlinkCur", cfg->blink_cur);
write_setting_i (sesskey, "Beep", cfg->beep);
gpps (sesskey, "Answerback", "PuTTY", cfg->answerback, sizeof(cfg->answerback));
gppi (sesskey, "AlwaysOnTop", 0, &cfg->alwaysontop);
gppi (sesskey, "HideMousePtr", 0, &cfg->hide_mouseptr);
+ gppi (sesskey, "SunkenEdge", 0, &cfg->sunken_edge);
gppi (sesskey, "CurType", 0, &cfg->cursor_type);
gppi (sesskey, "BlinkCur", 0, &cfg->blink_cur);
gppi (sesskey, "Beep", 1, &cfg->beep);
IDC_BOX_APPEARANCE2,
IDC_BOX_APPEARANCE3,
IDC_BOX_APPEARANCE4,
+ IDC_BOX_APPEARANCE5,
IDC_CURSORSTATIC,
IDC_CURBLOCK,
IDC_CURUNDER,
IDC_WINEDIT,
IDC_WINNAME,
IDC_HIDEMOUSE,
+ IDC_SUNKENEDGE,
appearancepanelend,
connectionpanelstart,
SetDlgItemText (hwnd, IDC_WINEDIT, cfg.wintitle);
CheckDlgButton (hwnd, IDC_WINNAME, cfg.win_name_always);
CheckDlgButton (hwnd, IDC_HIDEMOUSE, cfg.hide_mouseptr);
+ CheckDlgButton (hwnd, IDC_SUNKENEDGE, cfg.sunken_edge);
CheckRadioButton (hwnd, IDC_CURBLOCK, IDC_CURVERT,
cfg.cursor_type==0 ? IDC_CURBLOCK :
cfg.cursor_type==1 ? IDC_CURUNDER : IDC_CURVERT);
}
if (panel == loggingpanelstart) {
- /* The Logging panel. Accelerators used: [acgo] tplfwes */
+ /* The Logging panel. Accelerators used: [acgo] tplfwe */
struct ctlpos cp;
ctlposinit(&cp, hwnd, 80, 3, 13);
bartitle(&cp, "Options controlling session logging",
}
if (panel == appearancepanelstart) {
- /* The Appearance panel. Accelerators used: [acgo] luvb h ti p */
+ /* The Appearance panel. Accelerators used: [acgo] luvb h ti p s */
struct ctlpos cp;
ctlposinit(&cp, hwnd, 80, 3, 13);
bartitle(&cp, "Options controlling PuTTY's appearance",
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);
+ endbox(&cp);
}
if (panel == translationpanelstart) {
HIWORD(wParam) == BN_DOUBLECLICKED)
cfg.hide_mouseptr = IsDlgButtonChecked (hwnd, IDC_HIDEMOUSE);
break;
+ case IDC_SUNKENEDGE:
+ if (HIWORD(wParam) == BN_CLICKED ||
+ HIWORD(wParam) == BN_DOUBLECLICKED)
+ cfg.sunken_edge = IsDlgButtonChecked (hwnd, IDC_SUNKENEDGE);
+ break;
case IDC_CURBLOCK:
if (HIWORD(wParam) == BN_CLICKED ||
HIWORD(wParam) == BN_DOUBLECLICKED)
int exwinmode = 0;
if (!cfg.scrollbar) winmode &= ~(WS_VSCROLL);
if (cfg.locksize) winmode &= ~(WS_THICKFRAME|WS_MAXIMIZEBOX);
- if (cfg.alwaysontop) exwinmode = WS_EX_TOPMOST;
+ if (cfg.alwaysontop) exwinmode |= WS_EX_TOPMOST;
+ if (cfg.sunken_edge) exwinmode |= WS_EX_CLIENTEDGE;
hwnd = CreateWindowEx (exwinmode, appname, appname,
winmode, CW_USEDEFAULT, CW_USEDEFAULT,
guess_width, guess_height,
case IDM_RECONF:
{
int prev_alwaysontop = cfg.alwaysontop;
+ int prev_sunken_edge = cfg.sunken_edge;
char oldlogfile[FILENAME_MAX];
int oldlogtype;
int need_setwpos = FALSE;
nexflag = exflag;
if (cfg.alwaysontop != prev_alwaysontop) {
if (cfg.alwaysontop) {
- nexflag = WS_EX_TOPMOST;
+ nexflag |= WS_EX_TOPMOST;
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE);
} else {
- nexflag = 0;
+ nexflag &= ~(WS_EX_TOPMOST);
SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE);
}
}
+ if (cfg.sunken_edge)
+ nexflag |= WS_EX_CLIENTEDGE;
+ else
+ nexflag &= ~(WS_EX_CLIENTEDGE);
nflg = flag;
if (cfg.scrollbar) nflg |= WS_VSCROLL;
cfg.width != cols ||
old_fwidth != font_width ||
old_fheight != font_height ||
- cfg.savelines != savelines)
+ cfg.savelines != savelines ||
+ cfg.sunken_edge != prev_sunken_edge)
need_setwpos = TRUE;
term_size(cfg.height, cfg.width, cfg.savelines);
InvalidateRect(hwnd, NULL, TRUE);