Problem: intro message disappears on startup in some terminals
(chdiza, after v9.2.0139)
Solution: Only call set_shellsize() in handle_csi() if the reported
width or height actually differs from the current
Rows or Columns. (Foxe Chen)
fixes: #19656
closes: #19660
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
key_name[0] = (int)KS_EXTRA;
key_name[1] = (int)KE_IGNORE;
- set_shellsize(width, height, true);
+ // Only update if needed. Avoids intro message from disappearing on
+ // startup (due to initial event).
+ if (height != Rows || width != Columns)
+ set_shellsize(width, height, true);
}
#endif
call WaitForAssert({-> assert_equal(["50 100"], readfile("XTestWinResizeResult"))})
+ " Test that screen is only resized if it actually changed in width or height.
+ call term_sendkeys(buf, "\<Esc>:intro\<CR>")
+ call TermWait(buf)
+
+ call term_sendkeys(buf, "\<Esc>[48;50;100;0;0t")
+ call TermWait(buf)
+
+ " call delete("tmp.dump")
+ " call term_dumpwrite(buf, "tmp.dump")
+
" SIGWINCH handler should be uninstalled
call job_stop(term_getjob(buf), 28)
call TermWait(buf)
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 161,
/**/
160,
/**/