diff --git a/src/syncterm/syncterm.c b/src/syncterm/syncterm.c index 21843f5a2218bcb6216e3a5ed9f5394fd79cfc75..a0ba00823d295ba551cc6d2becb75cd8e6425ba3 100644 --- a/src/syncterm/syncterm.c +++ b/src/syncterm/syncterm.c @@ -1731,33 +1731,37 @@ int main(int argc, char **argv) if (last_bbs) free(last_bbs); // Save changed settings - ww = wh = sf = -1; - get_window_info(&ww, &wh, NULL, NULL); - sf = getscaling(); - if((sf > 0 && sf != settings.scaling_factor) || - (ww > 0 && ww != settings.window_width) || - (wh > 0 && wh != settings.window_height)) { - char inipath[MAX_PATH+1]; - FILE *inifile; - str_list_t inicontents; - - get_syncterm_filename(inipath, sizeof(inipath), SYNCTERM_PATH_INI, FALSE); - if((inifile=fopen(inipath,"r"))!=NULL) { - inicontents=iniReadFile(inifile); - fclose(inifile); - } - else { - inicontents=strListInit(); - } - if (sf > 0 && sf != settings.scaling_factor) - iniSetInteger(&inicontents,"SyncTERM","ScalingFactor",sf,&ini_style); - if (ww > 0 && ww != settings.window_width) - iniSetInteger(&inicontents,"SyncTERM","WindowWidth",ww,&ini_style); - if (wh > 0 && wh != settings.window_height) - iniSetInteger(&inicontents,"SyncTERM","WindowHeight",wh,&ini_style); - if((inifile=fopen(inipath,"w"))!=NULL) { - iniWriteFile(inifile,inicontents); - fclose(inifile); + gettextinfo(&txtinfo); + // Only save window info if we're in the startup mode... + if (txtinfo.currmode == settings.startup_mode || (settings.startup_mode == SCREEN_MODE_CURRENT && txtinfo.currmode == C80)) { + ww = wh = sf = -1; + get_window_info(&ww, &wh, NULL, NULL); + sf = getscaling(); + if((sf > 0 && sf != settings.scaling_factor) || + (ww > 0 && ww != settings.window_width) || + (wh > 0 && wh != settings.window_height)) { + char inipath[MAX_PATH+1]; + FILE *inifile; + str_list_t inicontents; + + get_syncterm_filename(inipath, sizeof(inipath), SYNCTERM_PATH_INI, FALSE); + if((inifile=fopen(inipath,"r"))!=NULL) { + inicontents=iniReadFile(inifile); + fclose(inifile); + } + else { + inicontents=strListInit(); + } + if (sf > 0 && sf != settings.scaling_factor) + iniSetInteger(&inicontents,"SyncTERM","ScalingFactor",sf,&ini_style); + if (ww > 0 && ww != settings.window_width) + iniSetInteger(&inicontents,"SyncTERM","WindowWidth",ww,&ini_style); + if (wh > 0 && wh != settings.window_height) + iniSetInteger(&inicontents,"SyncTERM","WindowHeight",wh,&ini_style); + if((inifile=fopen(inipath,"w"))!=NULL) { + iniWriteFile(inifile,inicontents); + fclose(inifile); + } } }