Still about resizing terminal.
I found the following may be related (that I personally consider as a bug):
* open a terminal
* type something to mark the line (eg: "a")
* type <enter> until at least a couple of lines scroll-up
[ so the marked line becomes invisible ]
* type something else (eg: "b")
* enlarge the window to display the very first line ("a")
* enlarge even a bit more, so an empty top-most space appears over the
first line
* now reduce the terminal until the last line ("b") disappears
==> the line containing "b" is lost forever while the top-most empty
space remains visible.
I believe this could be somehow related to the initialization of the
circular buffer for the scrollback which happens during the first
resizing attempt and the fact that term_start value jumps which, I
guess, mess-up with rows numbering.
On Sat, Jan 26, 2013 at 11:32:04AM +0100, Raphaël wrote:
> Hi,
> I intend to understand some parts of the code of rxvt_term::scr_reset():
>
> While trying to keep "track" of a line (according to term_start), I
> found that resizing the terminal would make its value jump suddenly.
>
> When resize happens, this triggers rxvt_term::scr_reset()
> - if scrollback is 1000, saveLines == 1000
> --> total_rows = nrow + saveLines
> - if, before resizing, you had put at least 1 line in the scrollback
> then prev_row_buf != 0
> then happens "add or delete rows as appropriate" (around screen.C:290)
> then if(top_row),
> --> term_start = total_rows - nrow (== saveLines) // issue ?
>
> That means, if you had 1 line in the scrollback, term_start was 1, but
> as soon as the window is resized (eg: from 24 to 25 rows), it becomes
> total_rows = 1000 + 25, and term_start = 1000 instead of being back to 0.
>
> I can't see any direct implication over the existing terminal behavior,
> but this variation of term_start is confusing for me from a code perspective.
>
> Explanation appreciated.
>
>
>
> regards
_______________________________________________
rxvt-unicode mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode