On Tue Feb 3, 2026 at 20:52:53 GMT +01, G. Branden Robinson wrote:
> At 2026-02-03T19:33:19+0000, Robin Haberkorn wrote:
>> Perhaps I will build against a debug version of ncurses
>> and step through with GDB, looking for the place actually
>> preventing configuration of the scroll region.
>
> This would seem to be the relevant code:
>
> https://github.com/ThomasDickey/ncurses-snapshots/blob/dd63e6cc22ddea3df663b977891aedd5b918e310/ncurses/tty/tty_update.c#L1800
>
> It appears to me that if the terminal description has the
> change_scroll_region (csr) capability, ncurses will use it.

He actually went through all of this. I saw that csr was emitted with the
correct top and bottom lines and scroll_forward. Still, it did not scroll
within the scroll region. More strangely, it ended up correctly drawing the
screen (after scrolling the entire screen). No idea why. I did set idlok() on
stdscr and the window in question that should be scrolled. Perhaps it is a
bug in the vt100 terminfo entry. But hardly. I should try to get that
scrolling to work in a script with tput. If it's really worth all the
effort...

The real motivation is that since I enabled the hardware cursor (curs_set(1))
in my application, I start to see the cursor jumping across the screen
on redraws in slow terminal emulators. Disabling the cursor around refresh()/
doupdate() causes other visual glitches. So I thought I'd optimize the
screen output a bit more - when scrolling in the editor, there is no need to
redraw the entire screen.

Best regards,
Robin

-- 
@ii._._.*.._+__.+_+.+...+.+.++..+*+.+._.+...*_*.*.__+__._._.++..+_*.++__+__
.+_..*...+.+_+__.+._.+...*_+_+__._ ...*_ +.+._.+.._+*+_+__._._ .+_..+.+***_
. *_+_+__.+.*.++..+_+.*.__+_ _.+...*_*_+__.++*.+...++..+* +.+.._+__._+_.+..
.++..+*_.*...+*+.+.*_ +*+i2^rj.u#__%uu#_.%uu#_+%uu#_*!+!0a"t1010^t^c^c'0a^#
1010"=d'0a-100000"=d'0auuqq*100+q[_^euu]uq-rq:^/100@oo,+,+,+oqq^t0uq@o*+*!!

Attachment: signature.asc
Description: PGP signature

Reply via email to