问题标签 [terminfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2068 浏览

ncurses - 如何在终端/terminfo 条目中实现适当的鼠标支持?

我已经实现了一个终端仿真器和一个相应的 terminfo 条目,它允许我运行ncurses程序,如emacsmc(午夜指挥官)或tig(git 浏览器)。我想为终端添加鼠标支持,最值得注意的是通过单击窗口将光标定位在emacs中。经过大量谷歌搜索和对 stackoverflow 的一些帮助后,我了解了所需的 terminfo 字段(最值得注意的是kmous)和控制(例如\E[?1000h)和“键”(\E[M...)序列,并在我的终端中实现了鼠标按钮事件。我写了一个小的ncurses程序,它是这样的:

这个程序在xterm和我的终端上运行良好,所以我的终端和它的 terminfo 条目都不会完全错误。

但是,mc似乎无法识别我的终端中的鼠标支持,甚至没有发出任何\E[?1000h序列来激活它,因此完全被我的终端发送的鼠标按钮事件(即使没有\E[?1000h激活)弄糊涂了。

我错过了什么?

0 投票
1 回答
1022 浏览

terminal - ncurses 是否支持斜体?

某些终端,例如 urxvt,支持通过 thesitmritmterminfo 条目以斜体显示文本:

我想在我拥有的应用程序中使用它,该应用程序想要将真正的斜体呈现到控制台中。不幸的是,该应用程序是基于 ncurses 的,并且 ncurses 似乎没有斜体的属性 --- 它有一大堆,包括不可见的文本(我确信这对某些东西很有用),但没有斜体。

有谁知道欺骗 ncurses 显示斜体文本的方法,还是我将不得不放弃 ncurses 并重写程序以使用原始终端序列?

0 投票
2 回答
2581 浏览

terminal - Terminfo smkx 和应用程序光标键与应用程序键盘

XTerm 控制序列指定以下键序列:

并且Terminfo Source Format具有以下条目:

但是 xterm 的 terminfo 实际上说的是smkx=\E[?1h\E=,这对我来说似乎很混乱(smkx 应该影响键盘,而不是光标键,对吧?)。我在这里想念什么?

0 投票
1 回答
1045 浏览

terminal - 终端/zsh/terminfo 中的应用模式是什么?

几个 地方我看到一些命令来确保终端(?)处于应用程序模式,然后 terminfo 数据库设置/查询键绑定将起作用。

我试图找到这个应用模式是什么,但我没有成功。这是什么应用模式?我认为没有它 Zsh 可以正常运行。我对吗?处理键绑定后是否需要取消设置?某些应用程序(例如基于诅咒的应用程序)不会取消它吗?

这只是一个问题:“什么是应用程序模式或它是如何工作的”。我写其他问题只是为了帮助您理解我的问题。

0 投票
1 回答
2017 浏览

vim - tmux、Solarized 和 terminfo

这是一个非常具体的问题,但根据我在网上看到的情况,这是一个非常普遍的问题。我使用的是基于 Red Hat 的相当旧版本的 Scientific Linux 5。我将 vim 与 Solarized vim 配色方案一起使用,并且我的TERM环境变量通常设置为xterm-256color. 在我开始使用 tmux 之前,这一直很好。在 vim 中的非空行上,配色方案仅扩展到文档字符的末尾,剩余的空白是纯背景。

在线指南中对此的库存修复是设置TERM='screen-256color'. 但是,在这样做时,我会收到不祥的警告:WARNING: terminal is not fully functional - (press RETURN),当尝试做一些无害的事情时,比如阅读手册页。但是,一切似乎都运行良好,并且修复了 Solarized 错误。

我找到了一个功能修复 -TERM='xterm-256color'默认使用并将这一行添加到我的 .bashrc 中:

alias v='function _vim(){ TERM='screen-256color'; vim $1; TERM='xterm-256color'; };_vim'

但这似乎是一个黑客。有趣的是,我也设置alias tmux='tmux -2'了,这是与配色方案相关问题的常见建议。

我也知道 terminfoscreen-256color在我的机器上可用。

所以,真的,主要令人困惑的是,当使用 时TERM='screen-256color',当似乎没有任何问题时,我会收到有关完整功能的警告。

我没有 root 访问权限,因此理想情况下,任何修复建议都不需要。

编辑:我应该提到这TERM='screen-256color-bce'给出了与TERM='screen-256color'.

0 投票
1 回答
745 浏览

linux - terminfo 似乎在 csh 中不起作用

我想使用 screen-256color 术语并且我的系统没有,所以我在我的主目录中编译它。以下是我的问题

系统好像检测不到screen-256color文件?

0 投票
2 回答
1197 浏览

linux - 如何在gnu屏幕中绑定多个键,特别是使用箭头键

首先,我使用的是 Opensuse 13.2 64 位和 Arch_Linux 64 位 无法使绑定对它们中的任何一个起作用(嗯,我想要的绑定),但我主要关注 Arch_Linux。另外,使用 openbox wm、xfce4-terminal。(在使用 konsole 和 gnome 3 的 opensuse 中)并且我的 $TERM 在我的 ~/.bashrc 中设置为 xterm-256color,并且在 opensuse 中使用 screen 时切换为 screen-256color,但奇怪的是在 Arch 中没有更改。

我想绑定Ca down:向下聚焦,Ca up:向上聚焦,Ca left:向左聚焦等等。让我们暂时专注于向下聚焦。我已经尝试了 ~/.screenrc 文件中的所有内容

没有什么能抓住向下箭头键。我可以使用以下

但是,我还想使用箭头绑定多个键,AFAIK -k 选项只允许绑定 1 个键(或 shift + 左/右)。实际上我很幸运我什至可以使用 -k 选项,因为它没有记录。

现在我使用 infocmp 检查了我的 kd (termcap) 和 kcud1 (terminfo)

顺便说一句,这些符号可以在这里查找 termcap在这里查找 terminfo 及其 termcap 等价物 (实际上我猜你可以使用:man terminfo)

当我使用 Ctrl-v 并按下箭头时,我得到

任何人都知道该怎么做。我想知道为什么我不能在没有 -k termcap_name 的情况下使用 bind 和/或如何使用键(例如 ctrl/alt)和 termcap 名称的组合。感谢所有和任何信息。

我试过设置 termcapinfo 也没有运气。不要以为我用对了。

0 投票
1 回答
764 浏览

terminfo - 是否可以使用terminfo同时更改前景色和背景色?

我正在编写一个需要输出样式文本的控制台程序。现在我使用固定的 ANSI 转义码作为前景色和背景色、粗体和下划线。例如,我可以编写\033[35m将前景色更改为紫色。

自己编写代码的好处是我可以将它们链接起来。我可以使用一个命令更改背景颜色前景色,从而节省宝贵的字节:

\033[48;5;200;38;5;100m

我想改用 terminfo 库来使我的程序在其他类型的终端上工作。但是,我找不到一次更新多种颜色的方法 - 我想设置粗体和下划线以及\033只有一种且只有一种的颜色m

标准中列出了以下命令,但不仅这些命令似乎都没有做我想要的,我实际上无法找到第一组和第二组视频属性实际上是什么:

  • set_a_attributes:定义第二组视频属性#1-#6
  • set_a_background:使用 ANSI 转义将背景颜色设置为 #1
  • set_a_foreground:使用 ANSI 转义将前景色设置为 #1
  • set_attributes:定义第一组视频属性#1-#9

terminfo有没有办法只使用命令来获得我想要的东西?提前致谢。

0 投票
1 回答
494 浏览

c - 在 C 程序中使用 terminfo 捕获字符串键

没有人知道在 C 程序中获取 terminfo 键字符串的好方法吗?就像 ncurses 的 infocmp。我找不到任何东西:(

如果有人知道并想告诉我,我将非常感激。

0 投票
4 回答
400 浏览

emacs - Emacs 在每个文件的顶部添加一些东西

当我使用 emacs 打开文件时,它会添加12;rgb:1c1c/1c1c/1c1c到顶部。我怎样才能防止这种情况?

我已经在干净重新安装的 debian 系统上安装了 emacs。

Emacs:GNU Emacs 24.4.1

终端模拟器:MobaXterm Personal Edition v7.7

系统(本地):Windows 7 Ultimate

系统(远程):Debian 8.0 "jessie" stable