溢出-y + 滚动 Ruby 诅咒 window

Overflow-y + scroll on Ruby curses window

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

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

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

(a) Window 1 增长需要新行 (b) Window 具有 'overflow-y' 特征,如 css.

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

查看 C 库中的 curses,我明白了。以为我会 post 答案以防其他人需要它!

溢出-y

您需要设置两件事:

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

当您到达最后一行时,它将继续附加到当前行。为了解决这个问题,我补充说:

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

可滚动window

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