ncurses滚动窗口的文本内容

时间:2016-01-07 13:09:19

标签: text scroll terminal window ncurses

我正在寻找关于使用ncurses在窗口或平板中滚动方法的明确答案。

我想显示一个stdout流,它快速填充屏幕上可用行的数量并开始溢出。使用stdio终端只需滚动内容。但据我所知,ncurses的输出仅限于屏幕区域。这完全准确吗?

通常的方法是将stdout的全部内容放入缓冲区,然后将缓冲区的特定部分读入ncurses窗口或填充区?还有哪些方法可以使用ncurses滚动文本?

2 个答案:

答案 0 :(得分:2)

您可能忽略了scrollok

  

scrollok 选项可控制光标时发生的情况          一个窗口的窗口移出窗口边缘或          滚动区域,或者作为换行动作的结果          在底线,或键入的最后一个字符          最后一行。如果禁用,( bf 为FALSE),则保留光标          在底线。如果启用,( bf 为TRUE),则为窗口          向上滚动一行(请注意,以获得物理          在终端上滚动效果,也是必要的          致电 idlok )。

使用它,您可以写入任何窗口,并将其向上滚动 - 就像stdio一样。

进一步阅读:

答案 1 :(得分:0)

使用scrollok,例如:

scrollok(win, TRUE);