程序中的终端行为

时间:2015-12-03 12:05:04

标签: c terminal terminal-emulator termcap

我在我的UI中使用termcaps库。我想知道是否有某种方法可以改变模拟器的行为方式?

例如:启用终端回滚缓冲区(termcap标记' da' db'设置为1)

谢谢

1 个答案:

答案 0 :(得分:1)

termcap库不会修改终端仿真程序的行为。相反,它为应用程序提供有关终端的功能的详细信息。由于不同的终端可能具有相似的功能,因此有更常见功能的常规名称。

您询问的功能在terminfo(5)手册页中总结为

   memory_above              da     da   display may be
                                         retained above the
                                         screen
   memory_below              db     db   display may be
                                         retained below the
                                         screen

描述简洁,可以通过将它们与示例相关联来改进。但是,这些功能通常不会在终端中实现,因为它们不符合ECMA-48标准中的任何内容(也太简洁)。查看终端数据库,大多数实现它们的是HP终端(和模拟器hpterm)。使用HP终端(很久以前),我认为这些功能描述了一种全屏模式,终端将光标 - 作为实际光标移动进行回显,并允许垂直滚动作为副作用。执行此操作时,屏幕内容不会丢失,而是保留,并可以滚动回视图。

您可能遇到的任何终端都不支持这样的功能。