From 8067f45664c64200e598885b916c80159e73185a Mon Sep 17 00:00:00 2001 From: root Date: Wed, 5 Nov 2008 16:17:23 +0000 Subject: [PATCH] *** empty log message *** --- Changes | 1 + src/command.C | 14 +++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Changes b/Changes index 9be099d5..ecf787d9 100644 --- a/Changes +++ b/Changes @@ -61,6 +61,7 @@ TODO: cursor restore/rendition restore on rmcup - new perl extension "overlay-osc", for status displays and the like. - fix some minor cursor drawing issues with overlays by allowing overlays to modify screen flags (to disable the cursor themselves). + - work around programs not restoring rstyle before rmcup. 9.05 Sun Jun 15 20:09:20 CEST 2008 - new option --cd/chdir to set the starting working directory. diff --git a/src/command.C b/src/command.C index 32a391f2..070d54c6 100644 --- a/src/command.C +++ b/src/command.C @@ -3662,7 +3662,6 @@ rxvt_term::process_terminal_mode (int mode, int priv UNUSED, unsigned int nargs, break; #endif case 1048: /* alternative cursor save */ - case 1049: if (option (Opt_secondaryScreen)) if (mode == 0) scr_cursor (RESTORE); @@ -3748,16 +3747,21 @@ rxvt_term::process_terminal_mode (int mode, int priv UNUSED, unsigned int nargs, break; case 1047: /* secondary screen w/ clearing last */ if (option (Opt_secondaryScreen)) - if (current_screen != PRIMARY) + if (!state) scr_erase_screen (2); scr_change_screen (state); break; case 1049: /* secondary screen w/ clearing first */ + if (state) + scr_cursor (SAVE); + scr_change_screen (state); - if (option (Opt_secondaryScreen)) - if (current_screen != PRIMARY) - scr_erase_screen (2); + + if (state) + scr_erase_screen (2); + else + scr_cursor (RESTORE); break; default: break; -- 2.34.1