0

我正在构建一个小脚本,我需要在终端(TTY)中维护两个窗口。我想做一些类似 tmux 的状态栏的事情,但是在我在屏幕的其余部分打印东西的同时,我无法让底部栏更新。我希望它看起来像:

|------------------------------------------|
| Whatever I 'puts' here                   |
|                                          |
|                                          |
|                                          |
|                                          |
|------------------------------------------|
| Status bar with whatever I 'puts' here   |
|------------------------------------------|

我已经尝试过使用 Ruby curses lib,但我认为这对于我想要做的事情来说太过分了,而且我确信有一种更简单的方法。谢谢!

4

2 回答 2

1

curses 是这样做的正确方法。您可以手动使用 ANSI 滚动区域和光标定位,但从长远来看,这将不那么便携,而且工作量更大。

如果你想了解更多关于 ANSI 终端如何工作的信息,这个维基百科页面是一个很好的起点,有很多链接。

我强烈推荐诅咒。在一个终端仿真器上处理直接的 ANSI 可能会让人头疼;支持多种操作系统和流行的终端仿真器的细微差别不值得麻烦(在我看来。)

于 2013-03-13T17:32:22.100 回答
-1

诅咒+1(尽管您可能需要ncurses进行持续开发)-它支持终端的窗口区域。

例如。http://linux.die.net/man/3/newwin

于 2013-03-13T17:51:31.623 回答