如何在 Linux (GTK) 中更改 Firefox 侧边栏搜索字段中的文本颜色?

问题描述

我正在尝试更改 Firefox 侧边栏中搜索字段的文本颜色,但在不更改系统的基本文本颜色的情况下无法找到执行此操作的位置。我想使用 GTK 主题或更改 Firefox 中的样式(最好有“官方”方式)。我的环境是 Arch Linux,使用 i3 作为窗口管理器。

基本上,我希望侧边栏(书签)中的搜索字段与 URL 栏中的输入字段相似。首要任务是将 URL 字段中的文本颜色从白色更改为洋红色,请参阅差异:

Comparison sidebar (with white text) and URL input field (with magenta colored text).

我尝试了 Firefox themes site,但它似乎无法定位侧栏中的输入字段。例如(删除了一些不相关的属性):

{
  "theme": {
    "images": {},"properties": {},"colors": {
      "toolbar_field_text": "rgb(192,117)","sidebar_highlight": "rgb(192,"toolbar_field_text_focus": "rgb(192,}
  }
}

但这不会改变侧边栏中输入字段的文本颜色。我曾尝试让 Firefox 不使用系统颜色和 about:config 中深色主题的颜色:

browser.display.use_system_colors = false | true
widget.content.allow-gtk-dark-theme = false | true

Arch Wiki中所述。在同一个条目中,我尝试在 Firefox 的默认/活动配置文件文件夹设置中创建一个 chrome/userContent.css

input:not(.form-control):not([type='checkbox']):not([type='radio']),textarea,select {
    -moz-appearance: none !important;
    background-color: white;
    color: black; 
}

#downloads-indicator-counter {
    color: white; 
}

但这没有任何影响。我还尝试通过在 color 中的 entry 元素上设置 gtk.css 属性来编辑(以及尝试从头开始创建)GTK 主题(删除了一些规则):

spinbutton {
  color: #b0006d;

  * {
    color: #eeeeee;
  }
}

entry {
  color: #b0006d;
  caret-color: #b0006d;
  background-color: #aaaaaa;

  selection {
    color: #aaaaaa;
    background-color: #b0006d;
  }
}

并且我已经确认这些规则适用于我的其他环境 (Arch+i3),例如我看到:

lxappearance with input field showing magenta colored text

PcManFM with address field showing magenta colored text

在 LXappearance 的示例和 PCManFM 的地址栏中。但它们不会影响 Firefox 的侧边栏。我唯一能做的就是设置:

* {
  color: #b0006d;
}

gtk.css 中,即更改 GTK 的默认文本颜色,但是所有未在 GTK 中明确设置样式的文本都将是洋红色,这是不希望的,并带来了一堆额外的工作和不受欢迎的副作用。

我还尝试使用 GTK+ Inspector 确定侧边栏文本字段所在的“css-node”,但检查器没有显示完整的树(对于 Firefox,它在大多数其他GTK 应用程序),它只显示第一级或第二级。

我想可以归结为:

  • 我可以在 gtk.css 中定位什么 GTK 元素来更改此文本字段的颜色?
  • 我可以使用除 GTK+ Inspector 之外的其他工具来找出答案吗?
  • Firefox 是否有更强大的浏览器样式设置方式?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...