如何让guake更新背景字符?

如何让guake更新背景字符?

这实际上也是屏幕上也存在的问题。它看起来像这样(在 中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支持。

进一步阅读:

答案2

我不认为你可以在终端多路复用器中实现这一点,也可能在终端仿真器中实现这一点 - 这是应用设置其颜色而不是终端。

合成器使背景半透明的原因是合成器的方式不同转义序列 ^[[0m并被^[[40m解释。第一个(也是默认的)被解释为透明的(无不透明度)而另一个是(完全不透明)黑色的。您通常将两者视为黑色是因为终端将其全部混合在黑色背景下。进入合成窗口管理器,突然透明层变得真正透明,黑色保持黑色(不透明度降低)。

也就是说,你可以尝试说服 mutt 使用黑色作为背景,这样^[[40m每次都会有效地添加^[[0m(或^[[49m])。或者您可以查看您的终端模拟器是否允许覆盖默认背景颜色。

另一种选择显然是禁用透明度,甚至完全合成,这实际上也不一定是最糟糕的选择。

相关内容