X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/8eba7d3dede44be9bbb775feab8002724cb1c990..68a49acbf3f96fbbbc385620655dcb577e62c328:/settings.c diff --git a/settings.c b/settings.c index 0d7123ab..736d6775 100644 --- a/settings.c +++ b/settings.c @@ -313,6 +313,7 @@ void save_settings(char *section, int do_host, Config * cfg) write_setting_i(sesskey, "LoginShell", cfg->login_shell); write_setting_i(sesskey, "ScrollbarOnLeft", cfg->scrollbar_on_left); write_setting_s(sesskey, "BoldFont", cfg->boldfont); + write_setting_i(sesskey, "ShadowBoldOffset", cfg->shadowboldoffset); close_settings_w(sesskey); } @@ -348,7 +349,23 @@ void load_settings(char *section, int do_host, Config * cfg) break; } - gppi(sesskey, "CloseOnExit", COE_NORMAL, &cfg->close_on_exit); + /* + * CloseOnExit defaults to closing only on a clean exit - but + * unfortunately not on Unix (pterm). On Unix, the exit code of + * a shell is the last exit code of one of its child processes, + * even if it's an interactive shell - so some pterms will + * close and some will not for no particularly good reason. The + * mode is still useful for specialist purposes (running a + * single command in its own pterm), but I don't think it's a + * sane default, unfortunately. + */ + gppi(sesskey, "CloseOnExit", +#ifdef _WINDOWS + COE_NORMAL, +#else + COE_ALWAYS, +#endif + &cfg->close_on_exit); gppi(sesskey, "WarnOnClose", 1, &cfg->warn_on_close); { /* This is two values for backward compatibility with 0.50/0.51 */ @@ -609,6 +626,7 @@ void load_settings(char *section, int do_host, Config * cfg) gppi(sesskey, "LoginShell", 1, &cfg->login_shell); gppi(sesskey, "ScrollbarOnLeft", 0, &cfg->scrollbar_on_left); gpps(sesskey, "BoldFont", "", cfg->boldfont, sizeof(cfg->boldfont)); + gppi(sesskey, "ShadowBoldOffset", -1, &cfg->shadowboldoffset); close_settings_r(sesskey); }