无法更改 URxvt 的颜色

无法更改 URxvt 的颜色

我在 .Xresources 中添加了这一行:

urxvt.background: #0f0f0f

并跑了xrdb -merge .Xresources。然而,由于某种原因,终端在启动时设置为颜色,但一旦出现 $PS1 标签,背景就重置为黑色。我尝试使用 URxvt*background 但它也不起作用。

这是我的 $PS1

reset=$(tput sgr0)
bold=$(tput bold)
    PS1="[\[$bold\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[$reset\]]\$ "

然而,它通常由 powerline-shell 处理。不过,当我禁用它时,它仍然会重置颜色。

编辑:我修改了它,现在看起来像这样:

if [ "$color_prompt" = yes ]; then
    PS1="${debian_chroot:+($debian_chroot)}\u@\h:\w\$"
else
    PS1="${debian_chroot:+($debian_chroot)}\u@\h:\w\$"
    #Default setting
    #PS1="[\]${debian_chroot:+($debian_chroot)}"
fi
unset color_prompt force_color_prompt

我添加了整个代码块,以防万一。不幸的是,颜色仍在重置。

更新:我设法发现背景颜色与调色板中的第一种颜色相同。无论如何我可以覆盖它吗?

答案1

我发现问题是什么了 -

首先 - 如果打开透明度,urxvt 不允许您更改背景颜色。它会自动将其设置为黑色。

其次 - 一个不同的应用程序,称为 pywal,正在设置我的配色方案。我根本不知道它也在设置背景,而且我没有事先检查。那是我的错误。

如果我有任何提示要提供的话,那就是检查所有可能扰乱你的颜色方案的内容,并禁用 urxvt 的透明度,使用合成管理器来处理它。

答案2

有类似的问题,我的解决方案是禁用 ~/.Xresources 中的透明度

URxvt.transparent: false

答案3

重置=$(tput sgr0)

好吧,就这样吧。您正在使用sgr0功能是定义的重置所有属性和颜色。

… \033[00m … \033[00m …

您甚至多次在提示符中对其进行硬连线。

那么就不要这样做。

terminfo 缺乏获取重置粗体序列的功能。但由于您是硬连线 ECMA-48 控制序列反正您也可以硬连线 ECMA-48:1984 控制序列 CSI 2 2 m(即\033[22m)硬连接到只是关闭粗体。 Unicode RXVT 支持它。

相关内容