强制 Firefox 标题栏使用 Windows 操作系统主题颜色

强制 Firefox 标题栏使用 Windows 操作系统主题颜色

最新的 Firefox 89 版更新不再尊重我在 Windows 10 (20H2) 上选择的主题。现在标题栏都是同一种颜色,我无法再轻易区分活动窗口和非活动窗口。

以前,活动/非活动窗口之间的区别很容易看出: 以前的 Firefox 显示正确的标题栏颜色

现在,Firefox 89 活动窗口和非活动窗口的标题栏相同: Firefox 89 的标题栏颜色错误

当我更新到 Firefox 89 时,我选择了“系统主题”,其中写道:“按照操作系统的按钮、菜单和窗口设置”。不幸的是,它没有这样做。我确保 Windows 具有“设置”>“个性化”>“颜色”>“标题栏和窗口边框“仍被检查。其他程序仍能正常运行。

我可以使用以下命令将常规标题栏放回窗口上:

关于:配置>“browser.tabs.drawInTitlebar = false”

这部分可行,至少它遵循了正确的配色方案,但它使选项卡没有颜色。由于控制该设置的设置描述了在标题栏中绘制选项卡,所以在我看来它应该遵循标题栏配色方案。

关闭“proton”显然最终会被禁用,因此按照建议制作一个 userChrome.css这个答案看起来是个不错的部分解决方法。不幸的是,每个窗口都有自己的活动/非活动选项卡。

这是 userChrome.css 定义的标题栏的显示方式(忽略黑色文本,标题栏颜色是问题所在): 新的 Firefox userChrome.css 标题栏

如您所见,所有选项卡的颜色都相同,无论它是活动窗口还是非活动窗口。

那么,如何让 Firefox 尊重我的操作系统颜色选择?

答案1

从 Firefox 91 开始,无法再禁用 Proton;从 Firefox 92 开始,不再有使用 Windows 强调色的内置选项。

您可以使用 Firefox 主题为某些元素添加设置颜色,但如果您实际上想要恢复使用系统主题颜色的能力,则必须使用 userChrome.css 文件。

我编写了一个文件来实现这个功能:

/* Show active colors on main menu bar */
#TabsToolbar,
#navigator-toolbox,
#tabs-newtab-button,
#titlebar toolbarbutton:not(:hover):not(:active),
#scrollbutton-up:not(:hover):not(:active),
#scrollbutton-down:not(:hover):not(:active),
.titlebar-color {
    background: AccentColor !important;
    color: AccentColorText;
    fill: AccentColorText !important;
}

#TabsToolbar:-moz-window-inactive,
#navigator-toolbox:-moz-window-inactive,
#tabs-newtab-button:-moz-window-inactive,
#titlebar toolbarbutton:not(:hover):not(:active):-moz-window-inactive,
#scrollbutton-up:not(:hover):not(:active):-moz-window-inactive,
#scrollbutton-down:not(:hover):not(:active):-moz-window-inactive,
.titlebar-color {
    background: unset !important;
    color: unset;
    fill: unset !important;
    transition: none !important;
}

将其添加到您的 userChrome.css 文件中,您的颜色应该会恢复到以前的状态。(至少在 Mozilla 再次出现问题之前。)

答案2

右键单击工具栏上的任意按钮并Customize Toolbar...从上下文菜单中选择。自定义页面打开。在左下角,勾选复选框Title bar

这将恢复 Firefox 89 版本之前的行为。如果未选中该复选框,Firefox 会告诉您的窗口管理器不是添加标题栏。

答案3

我无法区分活动窗口和非活动窗口。

它们是标签,而不是窗口。


有多种方法可以改变颜色。

  1. 禁用质子。

    可以通过设置browser.proton.enabled为 来禁用它false

    Mozilla 确实有禁用此类选项的习惯,因此它可能无法在 Firefox 90 中使用。

  2. 您可以修改userChrome.css以改变这些颜色。

    例子:

    .tabbrowser-tab[selected] .tab-label {
      color: black !important;
      font-weight: bold !important;
    }
    
    .tabbrowser-tab[selected] .tab-content {
      background: #fcb731 ! important;
    }
    
    .tabbrowser-tab:not([selected]) .tab-content {
      background: #585060;
    

    另一个例子:

     /* Use color and shape to make the tabs look more like tabs */
     .tab-background {
       background: #585060;
       border-radius: 9px 9px 0 0 !important;
       margin-bottom: 0px !important;
       box-shadow: 0 0 2px 2px rgba(0,0,0,0.1) !important;
       border: 1px solid rgba(0,0,0,.5) !important;
       border-bottom-width: 0px !important;
     }
    
     /* Selected tabs I want a bright background with a dark foreground */
       .tabbrowser-tab[selected] .tab-background {
       background: #fcb731 !important;
     }
     .tabbrowser-tab[selected] .tab-label {
       color: black !important;
       font-weight: bold !important;
     }
     /* Draw a solid line underneath to make the selected tab look  connected* to the rest of the browser */
     #TabsToolbar {
       border-bottom: 2px solid #fcb731 !important;
     }
    
     /* Hover over tabs */
     .tabbrowser-tab:hover .tab-background:not([selected]) {
       background: #686070 !important;
     }
    
  3. 安装Firefox 颜色扩大:

    构建、保存和共享漂亮的 Firefox 主题。

    转到高级颜色/选项卡选择设置。

来源: Amit 的想法:Firefox 89 标签外观

答案4

在 about:config 中搜索 draw 来检查状态

browser.tabs.drawInTitlebar

看起来 gfx.draw-color-bars 如果你切换true(默认为false),它会返回到以下活动/非活动标题栏的系统颜色

相关内容