如何确定终端的背景颜色?
我想知道是否有任何方法可以确定终端的背景颜色?
就我而言,使用 gnome-terminal。
这可能很重要,因为完全由终端应用程序来绘制其窗口的背景,甚至可能不是纯色。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想知道是否有任何方法可以确定终端的背景颜色?
就我而言,使用 gnome-terminal。
这可能很重要,因为完全由终端应用程序来绘制其窗口的背景,甚至可能不是纯色。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
为此有一个 xterm 控制序列:(
\e
和\a
分别是 ESC 和 BEL 字符。)Xterm 兼容终端应使用相同的序列进行回复,并将问号替换为 X11 颜色名称,例如
rgb:0000/0000/0000< /code> 为黑色。
There's an xterm control sequence for this:
(
\e
and\a
are the ESC and BEL characters, respectively.)Xterm-compatible terminals should reply with the same sequence, with the question mark replaced by an X11 color name, e.g.
rgb:0000/0000/0000
for black.我想出了以下内容:
Source/Repo/Gist: https://gist.github.com/蓝色/c8470c2aad3381c33ea3
I've came up with the following:
Source/Repo/Gist: https://gist.github.com/blueyed/c8470c2aad3381c33ea3
一些链接:
xtermcontrol --get-bg< /代码>)
COLORFGBG
环境变量(由 Rxvt 使用,但其他不多。 ..):它被设置为诸如
:[:]
,(
<其他设置>:
是可选的),并且如果
在 {0,1,2,3,4,5,6,8 },然后我们有一些黑暗的背景。章/2764" rel="noreferrer">Neovim 问题 2764:
关于
COLORFGBG
env,来自 Gnome BugZilla 733423:这是我正在使用的一些自己的代码(via):
Some links:
xtermcontrol --get-bg
)COLORFGBG
environment variable (used by Rxvt but not many others...):It is set to sth like
<foreground-color>:[<other-setting>:]<background-color>
,(
<other setting>:
is optional), and if<background-color>
in {0,1,2,3,4,5,6,8}, then we have some dark background.E.g. some related snippet from Neovim issue 2764:
About
COLORFGBG
env, from Gnome BugZilla 733423:This is some own code I'm using (via):
正如其他人提到的,您可以使用 OSC 11
?
来查询终端(尽管支持有所不同)。在 bash 和 gnome-terminal 中:
请注意,Bash 有一些不错的功能(例如
read -s
禁用 echo、$''
字符串作为转义码),但不幸的是吃掉最后一个反斜杠。As other's have mentioned, you may use OSC 11
?
to query the terminal (although support varies).In bash and gnome-terminal:
Note that Bash has some nice features for this (eg
read -s
disabling echo,$''
strings for escape codes), but it unfortunately eats the final backslash.除了 显然仅 rxvt $COLORFGBG 之外,我不知道其他任何东西甚至都存在。大多数人似乎指的是如何vim 做到了,即使这充其量也是一个有根据的猜测。
Aside from apparently rxvt-only $COLORFGBG, I am not aware that anything else even exists. Mostly people seem to be referring to how vim does it, and even that is an educated guess at best.
您是指确定终端背景颜色或设置终端颜色的方法吗?
如果是后者,您可以查询终端的 PS1 环境变量来获取颜色。
这里有一篇关于设置(以及派生)终端颜色的文章:
http://www.ibm.com/developerworks/linux/library /l-提示提示/
Do you mean a method to ascertain the terminal background colour, or set the terminal colour?
If the latter you could query your terminal's PS1 environment variable to obtain the colour.
There's an article on setting (and so deriving) the terminal colours here:
http://www.ibm.com/developerworks/linux/library/l-tip-prompt/