我對curses很陌生,所以我在python中嘗試了一些不同的東西。使程序退出後在終端回滾歷史記錄中產生curses程序輸出
我已經初始化窗口併爲窗口對象設置了scrollok。我可以添加字符串,並且滾動工作,以便addstr()在窗口的末尾沒有任何錯誤。
我想要的是能夠在程序結束後在我的終端程序(tmux或KDE Konsole,在這種情況下)中滾動回程序輸出。
在我的代碼中,我至少可以看到輸出,如果我跳過endwin()調用,但終端需要重置調用才能恢復運行。
另外,即使在程序運行時,在curses窗口向下滾動後,我也無法在Konsole中回滾以查看初始輸出。
#!/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()