2013-03-13 114 views
0

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

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

我试图用Ruby诅咒的lib,但我认为这是什么,我想要做的矫枉过正,再加上我敢肯定有一个更简单的方法。谢谢!

回答

1

curses是正确的做法。您可以手动使用ANSI滚动区域和光标定位,但从长远角度来看,这样可以减少移植和更多工作。

如果您想了解有关ANSI终端如何工作的更多信息,这wikipedia page是一个很好的起点,有很多链接。

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

-1

+1对于curses(尽管你可能想要ncurses进行开发) - 它支持终端的窗口区域。

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

+0

ruby​​的curses绑定将使用ncurses。 – 2013-03-13 17:56:12

相关问题