On Sun, Mar 26, 2017 at 08:20:39PM +0300, Alexander Krotov wrote: > On Sun, Mar 26, 2017 at 06:10:37PM +0200, Laslo Hunhold wrote: >> On Sun, 26 Mar 2017 06:41:46 +0300 >> Alexander Krotov <ilab...@gmail.com> wrote: >>> Updated patch to clear up to maxcol in some cases and avoid glitches >>> when using ncurses programs. >> >> I support this proposition. It may be "troublesome" for programs which >> depend on terminal size, but if you think about it, ncurses >> applications and the like refresh when the terminal resizes and are not >> affected. Countless times I resized the master here and lost a decent >> amount of terminal output due to that. > > The worst thing that can happen is that you reveal some garbage > when you increase size of your terminal, because program tried to clear > it when it was hidden. > > I clear it even if it is hidden now with the second version of the > patch. For example when character is deleted and all characters after it > are shifted, invisible characters are just lost. > > Glitches that happen when you type a long string at sh prompt and shrink > terminal are not worse, they are just different now.
You are still missing a few `tclearregion(.*, term.col` locations and similar in treset(), csihandle(), etc. It should fix a few other instances of old content reappearing unexpectedly, but I expect some things will remain broken anyway. Hell, even xterm had this for a while (from #282 to #289/#290) and ended up reverting it. Another approach could be the way urxvt (and other screemuxers) does it: rewrap every line when the terminal is resized, but our internal screen representation and ATTR_WRAP doesn't make it easy for us. And as others, I think all of this should be put in a new command outside of st. -- Ivan "Colona" Delalande