在Ruby curses窗口上溢出-y +滚动

时间:2017-11-02 14:23:38

标签: ruby curses

我使用curses在Ruby中创建了两个窗口,看起来像这样:

------------------------
|                      |
|       Window 1       |
|                      |
|                      |
------------------------
------------------------
|     Window 2         |
------------------------

窗口2是静态的。窗口1将填充文本。目前,如果文本到达底线,则下一个单词将附加到底行,而不是在下一行。如何使以下选项之一成为可能:

(a)窗口1增长是需要新行 (b)窗口1具有'溢出-y'功能,如css。

我尝试启用Curses.stdscr.scrollok,每次使用window1.scroll到达窗口底部,但都没有达到我想要的效果。

1 个答案:

答案 0 :(得分:0)

查看C库中的curses,我已经想到了这一点。以为我会发布答案以防其他人需要它!

<强>溢出-γ

您需要设置两件事:

Curses.stdscr.scrollok true
window.scrollok(true)

当你到达最后一行时,它会继续追加到当前行。为了解决这个问题,我补充道:

if (window.cury + 1) == window.maxy
    window.addstr("\n")
end

可滚动窗口

window.scroll() # scrolls up one line
window.scrl(-1) # scrolls down one line