我正在构建一个小脚本,我需要在终端(TTY)中维护两个窗口。我想做像tmux的状态栏这样的事情,但是无法设法让底部栏进行更新同时我在屏幕的其余部分打印东西。我希望它看起来像:
|------------------------------------------|
| Whatever I 'puts' here |
| |
| |
| |
| |
|------------------------------------------|
| Status bar with whatever I 'puts' here |
|------------------------------------------|
我已经尝试使用Ruby curses lib,但我认为这对我想做的事情来说太过分了,而且我确信这是一种更简单的方法。谢谢!
答案 0 :(得分:1)
curses是正确的方法。您可以手动使用ANSI滚动区域和光标定位,但从长远来看,这将不那么便携,而且工作量也会增加。
如果您想了解有关ANSI终端如何工作的更多信息,这个wikipedia page是一个很好的起点,有很多链接。
我强烈推荐诅咒。在一个终端仿真器上处理直接ANSI可能是一个令人头痛的问题;支持多个操作系统和流行的终端模拟器的细微差别是不值得的(在我看来。)
答案 1 :(得分:-1)
+1 for curses(虽然您可能希望ncurses用于持续开发) - 它支持终端的窗口区域。