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

Reply via email to