使用curses到达窗口末尾时添加行?

时间:2014-12-07 05:46:05

标签: curses

我有一个使用curses的小型repl应用程序但是当我到达窗口结束时我遇到了添加新行的问题。输出如下所示,窗口限制为---

---
REPL> :dothis
====>  Well done!
REPL> :dothat
====>  OK, done
REPL> :dothatagain====>  All right...REPL> // can't add more lines :(
---

当到达窗口结束时,我如何addstr就像普通的终端缓冲区一样?我不需要向后滚动,只需写一行线条。是否有任何窗口设置可以获得无限的垂直窗口?

任何通用语言的答案都可以(C首选)

1 个答案:

答案 0 :(得分:0)

在对curses本机API进行一些研究之后,我注意到有一个int scrollok(WINDOW *win, bool bf);函数:

scrollok(*window, true);

之前我没有找到该功能,因为我使用的curses biding库并没有实现这个功能所以我只是为它做了一个包装器。结论是在使用外部语言API出价时始终查看本机curses API。