【问题标题】:Making a command-line program "full screen"使命令行程序“全屏”
【发布时间】:2012-03-11 08:59:20
【问题描述】:

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

编辑:我不是在寻找如何让我的 shell 全屏显示。我正在寻找一种方法来隐藏以前输入的命令并用应用程序“填充”外壳屏幕。这是给安装程序的。

【问题讨论】:

    标签: ruby bash shell terminal fullscreen


    【解决方案1】:

    您可能正在寻找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。

    【讨论】:

    • 啊,途易!那是我一直在寻找但找不到的词。谢谢。
    【解决方案2】:

    你可以使用ncurses 来处理类似的事情。它为您的终端提供了一个抽象层。

    【讨论】:

      【解决方案3】:

      虽然有更多的跨平台和优雅的解决方案,但以下适用于 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。

      【讨论】:

        【解决方案4】:

        尝试按“F11”键..或者您可以转到首选项>显示设置 我只是找到一个讨论这个的线程..尝试去here

        【讨论】:

        猜你喜欢
        • 2017-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-06
        • 1970-01-01
        • 2014-04-24
        • 1970-01-01
        相关资源
        最近更新 更多