Open dankamongmen opened 2 years ago
it looks like we're printing the bottom plane before scrolling, perhaps?
this is with a sleep()
prior to infoplane()
...
oh shit! this appears to be broken the same way in xterm =\
yeah i think this is general breakage, argh
just after creating the infoplane:
-------------------------- notcurses debug state -----------------------------
************************* 0x558bf2133340 pile ****************************
0000 off y: 63 x: 30 geom y: 7 x: 72 curs y: 0 x: 0 0x558bf2162bc0 info
bound 0x558bf2133250 ← 0x558bf21332c0 → 0x7fe9b00094e0 binds (nil)
0001 off y: 51 x: 32 geom y: 12 x: 68 curs y: 0 x: 0 0x7fe9b00094e0 bmap
bound 0x558bf2133250 ← 0x558bf2162c20 → (nil) binds (nil)
0002 off y: 0 x: 0 geom y: 64 x: 132 curs y: 63 x: 0 0x558bf2133250 std
bound 0x558bf2133250 ← 0x558bf2133350 → (nil) binds 0x558bf2162bc0
______________________________________________________________________________
so yeah, the infoplane is being created on line 63 as expected (bmap is 51 through 62)...
this is if we render and exit right before ncplane_scrollup_child()
yeah, it's ncplane_scrollup_child()
that's doing this
if i purge the call to ncplane_scrollup_child()
, we get this:
when we hit ncplane_scrollup_child()
, we're scrolling 11 lines. that's like two times as many as we ought.
no, that's the scroll in the first ncplane_scrollup_child()
, and is correct. the next one is 6, and also seems correct.
look at how those scrolls are happening, weird:
tail: f: file truncated
pre-scroll: 63/131 64/132 log: 0 scrolling: 1
pre-scroll: 63/131 64/132 log: 1 scrolling: 1
PAREND: 63 CHEND: 74
SCROLLING 11
pre-scroll: 63/0 64/132 log: 2 scrolling: 1
pre-scroll: 63/0 64/132 log: 3 scrolling: 1
pre-scroll: 63/0 64/132 log: 4 scrolling: 1
pre-scroll: 63/0 64/132 log: 5 scrolling: 1
pre-scroll: 63/0 64/132 log: 6 scrolling: 1
pre-scroll: 63/0 64/132 log: 7 scrolling: 1
pre-scroll: 63/0 64/132 log: 8 scrolling: 1
pre-scroll: 63/0 64/132 log: 9 scrolling: 1
pre-scroll: 63/0 64/132 log: 10 scrolling: 1
pre-scroll: 63/0 64/132 log: 11 scrolling: 1
pre-scroll: 63/0 64/132 log: 12 scrolling: 1
pre-scroll: 63/101 64/132 log: 13 scrolling: 1
-------------------------- notcurses debug state -----------------------------
************************* 0x55f12ad43340 pile ****************************
0000 off y: 63 x: 30 geom y: 7 x: 72 curs y: 0 x: 46 0x55f12ad72bc0 info
bound 0x55f12ad43250 ← 0x55f12ad432c0 → 0x7f4a0c0094e0 binds (nil)
0001 off y: 51 x: 32 geom y: 12 x: 68 curs y: 0 x: 0 0x7f4a0c0094e0 bmap
bound 0x55f12ad43250 ← 0x55f12ad72c20 → (nil) binds (nil)
0002 off y: 0 x: 0 geom y: 64 x: 132 curs y: 63 x: 0 0x55f12ad43250 std
bound 0x55f12ad43250 ← 0x55f12ad43350 → (nil) binds 0x55f12ad72bc0
______________________________________________________________________________
PAREND: 63 CHEND: 69
SCROLLING 6
pre-scroll: 63/0 64/132 log: 14 scrolling: 1
pre-scroll: 63/0 64/132 log: 15 scrolling: 1
pre-scroll: 63/0 64/132 log: 16 scrolling: 1
pre-scroll: 63/0 64/132 log: 17 scrolling: 1
pre-scroll: 63/0 64/132 log: 18 scrolling: 1
pre-scroll: 63/0 64/132 log: 19 scrolling: 1
-------------------------- notcurses debug state -----------------------------
************************* 0x55f12ad43340 pile ****************************
0000 off y: 57 x: 30 geom y: 7 x: 72 curs y: 0 x: 46 0x55f12ad72bc0 info
bound 0x55f12ad43250 ← 0x55f12ad432c0 → 0x7f4a0c0094e0 binds (nil)
0001 off y: 45 x: 32 geom y: 12 x: 68 curs y: 0 x: 0 0x7f4a0c0094e0 bmap
bound 0x55f12ad43250 ← 0x55f12ad72c20 → (nil) binds (nil)
0002 off y: 0 x: 0 geom y: 64 x: 132 curs y: 63 x: 0 0x55f12ad43250 std
bound 0x55f12ad43250 ← 0x55f12ad43350 → (nil) binds 0x55f12ad72bc0
______________________________________________________________________________
pre-scroll: 63/103 64/132 log: 20 scrolling: 1
While you're looking, can you check if there's anything in the neofetch repo that should be added from a functionality perspective? I noticed it's been awhile since you created the initial ncneofetch and want to ensure you aren't missing something that neofetch now supports.
I'm not sure when this started, and I think it might be due to kitty changes, as I'm almost certain I would have noticed this breakage at 3.0.7's release time, kitty being my default terminal.
ncneofetch
works fine up until it needs to scroll, at which point things go haywire: