我在 arch linux 上为 Polybar 配置电池模块。
我可以将电池图标设为红色
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-3 =
ramp-capacity-4 =
ramp-capacity-0-foreground = #ff0000
这将使图标#ff0000
,但10%
标签仍然是白色的。有什么方法可以改变标签颜色,以便在使用时ramp-capacity-0
,图标+百分比都是红色的?
答案1
正如您已经注意到的,设置ramp-capacity-0-foreground
只会更改文本的颜色。ramp-capacity-0
我假设您希望根据电池电量使用不同颜色的百分比,因此您希望将其设置在斜坡中。目前您可以执行此操作的唯一方法是设置
ramp-capacity-0 = %{F#ff0000}
但是,只有当百分比直接出现时,这才有效后坡道 和ramp-capacity-0-foreground
和label-discharging-foreground
未设置。
这是因为 Polybar 处理设置文本颜色的方式。%{F...}
是前台格式化标签。如果-foreground
设置了标签或渐变(或其他任何内容)的属性,则其所有文本都将被包装在%{F#...}TEXT%{F-}
其中#...
是 前景设置的内容%{F-}
是 格式标记,用于将以下文本的前景重置为中定义的栏背景酒吧部分。这就是 和ramp-capacity-0-foreground
都label-discharging-foreground
不能设置的原因,因为如果设置了它们,您添加的格式标记ramp-capacity-0
将不会产生任何效果。
例子:
如果您ramp-capacity-0 = %{F#ff0000}
根据其余配置进行设置,polybar 将生成以下内容:
既没有
ramp-capacity-0-foreground
也没有label-discharging-foreground
设置:%{F#ff0000} 10%
和
label-discharging-foreground = #ffffff
:%{F#ff0000} %{F#ffffff}10%{F-}
和
ramp-capacity-0-foreground = #ff0000
%{F#ff0000}%{F#ff0000}%{F-} 10
可以看到,只有当两者都没有设置时,您手动插入的格式化标签才会“渗透”到放电标签中。
参考: