【问题标题】:Spliting screen into ncurses and non ncurses area将屏幕分成 ncurses 和非 ncurses 区域
【发布时间】:2015-03-25 15:16:10
【问题描述】:

我是一名初学者 C 程序员,我的一项任务要求我为 Logo 编程语言编写一个解释器。为此,我想知道是否有可能在使用ncurses 库时拆分屏幕,以便一半保留带有常规文本 i/o 的基本终端属性,另一半以ncurses 模式格式化。

我的愿望是创建一个用户界面,这样用户可以在一半用户可以输入 Logo 样式的命令,而在另一半用户可以在一个小图标上执行这些命令。

【问题讨论】:

  • 这不太可行。您可以在 curses 模式下用整个屏幕伪造它,并使其看起来好像在(例如)屏幕的下半部分输入输入,而上半部分执行徽标命令。但是终端需要处于诅咒模式。
  • 没有办法使用表单或窗口或任何其他相关的 ncurses 库来实现我的目标吗?
  • 我不这么认为。到处转转;其他人可能有一个想法。但我不相信他们会这样做。
  • 实现你真正想要的是完全可行的,你只需要停止用那些特定的词来描述它。 “终端”窗口将被模拟——Jonathan Leffler 称之为“伪装”。但是,从用户的角度来看,它不需要任何“虚假”。
  • 基本上我想说的是我想分割屏幕,以便 ncurses 仅适用于单个部分。对于用户来说,这一切看起来都一样,但我发现使用 ncurses 格式化文本等有点繁琐,并且更愿意处理该区域的默认终端

标签: c ncurses logo-lang


【解决方案1】:

有一个名为screen 的应用程序可以将终端分成多个区域。所做的是实现它自己的终端仿真器,该终端仿真器在另一个终端仿真器中运行。这是唯一的方法,因为终端本身没有屏幕区域的概念。所以你基本上必须在 ncurses 之上实现一个终端仿真器,它可以用作“非 ncurses 区域”。

也许另一种方法会更容易。它需要在终端中运行吗?如果不是,您可以仅将终端用于常规 I/O,并在其旁边创建某种 GUI 窗口。或者根本不使用终端,而是在您的 GUI 中嵌入一些终端小部件(我想大多数 GUI 工具包都提供这样的功能)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多