使命令行程序“全屏”

时间:2012-02-21 01:38:36

标签: ruby bash shell terminal fullscreen

我想知道如何在shell中创建“全屏”窗口的外观,如在vim,emacs等中。是否可以在Ruby中以编程方式执行此操作?那个平台依赖的方式是什么?

编辑:我不是在寻找如何让我的 shell 全屏显示。我正在寻找隐藏之前输入的命令的方法,并用应用程序“填充”shell屏幕。这是安装人员。

4 个答案:

答案 0 :(得分:4)

您可能正在寻找ncursesS-Lang支持,以提供完整的TUI体验。

Ruby的gem环境提供了一些值得探索的宝石:

$ gem list --remote | grep -i curses
cursesx (003)
ffi-ncurses (0.4.0)
ncurses (0.9.1)
ncurses-ruby (1.2.1)
ncursesw (1.2.4.3)
snowleopard-ncurses (1.2.4)

rbcurse软件包的作者建议使用ncurses-ruby gemrbcurse提供了一些预先编写的小部件,并且能够以相同的样式编写新的小部件 - 它看起来非常有用。

我还没有为Ruby发现任何S-Lang绑定;基于项目专注于提供语言解释器,我认为构建Ruby绑定并不容易。可惜,因为许多应用程序作者确实更喜欢S-Lang而不是ncurses。

答案 1 :(得分:1)

您可以将ncurses用于此类事情。它为您的终端提供了一个抽象层。

答案 2 :(得分:1)

虽然有更多的跨平台和优雅的解决方案,但以下适用于Linux,并且也适用于其他Unix:

system("clear")

如果你在Windows上,这可能有效(未经测试):

system("cls")

如果你想创建一个可以更新其界面的应用程序,你可以维护某种字符数组:

colArr=[]
columNum.each {colArr<<[]}
#fill colArr
system("clear")
print colArr
#Every time you change it, call system("clear") then print colArr

这是非常手动的,但它适用于简单的TUI。

答案 3 :(得分:0)

尝试按“F11”键..或者您可以转到首选项&gt;显示设定 我只是找到一个讨论这个问题的线程...... here