这实际上也是屏幕上也存在的问题。它看起来像这样(在 中mutt
):
mutt 的浏览器可见于 http://s15.postimg.org/l4pupb7mx/muttmux.png
当运行从 Guake 构建更新界面的终端应用程序时,tmux 和屏幕似乎不显示所显示文本所具有的默认背景颜色。 (比如 tilda 的效果更微妙,但总体思路是相同的。)
这是其可用性/可读性的真正杀手。
我按照 $TERM var 搞乱了这个网站的建议,但没有任何效果。
如何强制Guake显示文本界面提供的背景mutt
?
其他信息
dvtm
奇怪的是,另一个多路复用器不会出现这种情况。不过我对它完全陌生。
答案1
这个问题(和建议的答案)有点晦涩难懂,但所描述的是 mutt 对默认颜色ncurses(或俚语)的功能。如果你的 mutt 配色方案使用“默认”一词作为前景或背景,那么在运行时 mutt 会要求 ncurses/slang 使用终端的默认颜色。
无论是在诸如 的应用程序中mutt
,还是在诸如 的多路复用器中screen
,它都是通过 SGR 39(前景默认颜色,^[[39m
)和 SGR 49(背景默认颜色,^[[49m
)来实现的。多路复用器将使用终端的实际 SGR 39/49 支持(如果存在)。
诸如合成器之类的应用程序可以(相对)轻松地检测分配给终端窗口的默认前景色和背景色,并操纵背景色来模拟透明窗口。并不是每个人都喜欢这种效果(并且因为它有损于可读性,所以尚未在 xterm 中实现)。
默认颜色的用途与透明终端不同,mutt 是最早使用该功能的应用程序之一(与 Liviu Daia 合作的结果)。它与 terminfo bce
(背景色擦除)功能相结合,而 GNU 屏幕最初不支持该功能。这个已经支持了自2002年以来(从问题中不清楚OP是否知道如何配置它)。
如果你想要背景是不透明, 然后
- 配置
mutt
没有使用default
颜色。 - 配置
screen
而不启用其bce
支持。
进一步阅读:
- 默认颜色(ded — 目录编辑器)
- 我应该使用什么 $TERM?(xterm 常见问题解答)
- 我的终端显示一些未着色的空间(ncurses 常见问题解答)
- GNU 屏幕和空白,天哪
答案2
我不认为你可以在终端多路复用器中实现这一点,也可能在终端仿真器中实现这一点 - 这是应用设置其颜色而不是终端。
合成器使背景半透明的原因是合成器的方式不同转义序列 ^[[0m
并被^[[40m
解释。第一个(也是默认的)被解释为透明的(无不透明度)而另一个是(完全不透明)黑色的。您通常将两者视为黑色是因为终端将其全部混合在黑色背景下。进入合成窗口管理器,突然透明层变得真正透明,黑色保持黑色(不透明度降低)。
也就是说,你可以尝试说服 mutt 使用黑色作为背景,这样^[[40m
每次都会有效地添加^[[0m
(或^[[49m]
)。或者您可以查看您的终端模拟器是否允许覆盖默认背景颜色。
另一种选择显然是禁用透明度,甚至完全合成,这实际上也不一定是最糟糕的选择。