notcurses icon indicating copy to clipboard operation
notcurses copied to clipboard

demo summary table isn't printing headers

Open dankamongmen opened this issue 3 years ago • 10 comments

we're getting this:



══╤════════╤════════╪═══════╪═════════╪═══════╪══╪══╪══╪═══════╣                                                                    
 1│   intro│   3.07s│    455│  13.33Mi│  148.0│ 4│ 1│ 5│  1.32K║                                                                    
══╧════════╧════════╪═══════╪═════════╪═══════╧══╧══╧══╧═══════╝                                                                    
               3.07s│    455│  13.33Mi│     

dankamongmen avatar Nov 28 '21 08:11 dankamongmen

if i have two ncplane_putchar(stdn, '\n');s leading, it gets displayed:

[schwarzgerat](0) $ ./notcurses-demo -p ../data/ i 


             runtime│ frames│output(B)│    FPS│%r│%a│%w│TheoFPS║                                                                    
══╤════════╤════════╪═══════╪═════════╪═══════╪══╪══╪══╪═══════╣                                                                    
 1│   intro│   3.07s│    455│  13.33Mi│  148.0│ 4│ 1│ 5│  1.30K║                                                                    
══╧════════╧════════╪═══════╪═════════╪═══════╧══╧══╧══╧═══════╝                                                                    
               3.07s│    455│  13.33Mi│                 

SIGH.

dankamongmen avatar Nov 28 '21 08:11 dankamongmen

 -------------------------- notcurses debug state -----------------------------
  *************************   0x55818f4e90a0 pile ****************************
0000 off y:   0 x:   0 geom y:  64 x: 132 curs y:  63 x: 101 0x55818f4e8fb0 std
 bound 0x55818f4e8fb0 ← 0x55818f4e90b0 → (nil) binds (nil)
 ______________________________________________________________________________

we come out of the alternate screen at 63/101 on a 64/132 terminal.

dankamongmen avatar Nov 28 '21 08:11 dankamongmen

if we put a notcurses_render() after the single existing ncplane_putchar('\n'), it works (though it's a line further down than i'd like). which is evidence of insanity. but so is that 101 =\ =\ =\

dankamongmen avatar Nov 28 '21 08:11 dankamongmen

we have a workaround, but i hate this. moving it beyond 3.0.0 for now though.

dankamongmen avatar Nov 28 '21 08:11 dankamongmen

very interestingly, if we quit out in media res, we get the headers without this redundant render. if we run to completion, we don't. what could the difference be there?

dankamongmen avatar Dec 09 '21 23:12 dankamongmen

it looks like things are now working without the extraneous render call. i'm not sure what fixed it, but there we go.

dankamongmen avatar Dec 21 '21 11:12 dankamongmen

hrmmm maybe not. it seems to depend on what demos we run? like if we end on [outro], we don't seem to get it, but if we end on [intro], we do. [keller] we don't. [jungle] we do.

do: ijmudcyzs don't: knbgvaoxwtl

except that's not even it, because we don't if we run e.g. ls. hrmm.

so it's maybe looking like....if the last demo draws on the last line, we don't?

dankamongmen avatar Dec 21 '21 11:12 dankamongmen

presumably this has something to do with leave_alternate_screen()...

dankamongmen avatar Dec 21 '21 11:12 dankamongmen

hrmmm if we don't move at the end of leave_alternate_screen(), it usually works...ugh this is hard to understand =.

dankamongmen avatar Dec 21 '21 11:12 dankamongmen

i think this kinda requires (or is at least part of) #2414

dankamongmen avatar Jan 10 '22 06:01 dankamongmen