Sono abbastanza nuovo nelle maledizioni, quindi sto provando cose diverse in python.Rendi l'output del programma curses persistente nella cronologia di scrollback del terminale dopo l'uscita dal programma
Ho inizializzato la finestra e ho impostato scrollok per l'oggetto finestra. Posso aggiungere stringhe e lo scorrimento funziona in modo che addstr() non abbia errori alla fine della finestra.
Quello che mi piacerebbe avere è la possibilità di scorrere indietro l'output del programma nel mio programma terminale (tmux o KDE Konsole, in questo caso) dopo che il programma è finito.
Nel mio codice, posso almeno vedere l'output se mi salta la chiamata endwin(), ma il terminale ha bisogno di un resettare chiamata per tornare operativa.
Inoltre, anche mentre il programma è in esecuzione, dopo che la finestra di curses si è spostata verso il basso, non posso tornare indietro in Konsole per vedere l'output iniziale.
#!/usr/bin/env python2
import curses
import time
win = curses.initscr()
win.scrollok(True)
(h,w)=win.getmaxyx()
h = h + 10
while h > 0:
win.addstr("[h=%d] This is a sample string. After 1 second, it will be lost\n" % h)
h = h - 1
win.refresh()
time.sleep(0.05)
time.sleep(1.0)
curses.endwin()