it-swarm.cn

如何让Firefox完全忽略我的GTK主题?

我在我的Ubuntu 10.10安装中安装了一个黑暗的GTK主题,并且我也喜欢为Firefox安装了一个角色。

问题是Firefox正在使用我的黑暗GTK主题来处理普通网页上的按钮和文本字段等项目,这通常会产生无法读取的菜单,文本区域和按钮。 (白色背景上的白色文本或黑色按钮上的黑色文本)。

我不想改变任何一个主题,因为它们在所有其他应用程序中看起来都很棒,而且我不想在我的Firefox安装上做一些疯狂的事情,比如使用自定义用户脚本或CSS覆盖。

我想要做的就是告诉Firefox完全停止使用我的GTK主题。这似乎是Google的Chrome浏览器所做的事情,它到目前为止最有意义。

Web开发人员如何解决所有可能的GTK主题?

49
tamale

使用以下命令之一启动Firefox:

  • GTK3 Firefox 46 +:env GTK_THEME=Adwaita:light firefox
  • GTK2 Firefox <46:env GTK2_RC_FILES=/usr/share/themes/Simple/gtk-2.0/gtkrc firefox

这将使用Simple/Adwaita:light主题启动Firefox,这是非常基本的,应该与您的Persona融为一体。您可以通过将Simple替换为主题名称来尝试其他主题,但这不适用于所有主题。

到目前为止,我已成功测试了Simple和Redmond主题......

之前

Before

After

35
lovinglinux

永久解决方案:

您可以指定一个轻量级GTK主题,用于在about:config中呈现网页。这很好,因为您的系统主题仍然适用于菜单等,但网页将以轻量级主题呈现。

  1. 导航到Firefox浏览器中的about:config
  2. 右键单击并选择new-> string
  3. 输入widget.content.gtk-theme-override作为名称
  4. 输入您在系统上安装的轻量级GTK主题。例如Arcname__
  5. 重启firefox。

资料来源: https://www.reddit.com/r/firefox/comments/6rbvvw/photon_rectangular_tabs_have_landed_in_nightly/dl4318f/

另见 https://bugzilla.mozilla.org/show_bug.cgi?id=1283086

46
rviertel

我想添加到伟大的 @lovinglinux的答案 一种让Firefox在从任务栏中的启动器而不是命令行打开时加载主题的方法:

  1. 将/usr/share/applications/firefox.desktop编辑为Sudo,
  2. 在“Exec”行中,使用上述@lovinglinux提供的说明,使用命令替换“=”后面的值:

    bash -c'GTK2_RC_FILES =/usr/share/themes/Redmond/gtk-2.0/gtkrc firefox%u' Kate editing firefox.desktop

结果如下:

Firefox with Redmond theme and all other applications with a dark theme

9
Igor Rodriguez

UPDATE:当Firefox更新时,我的原始答案实际上被覆盖了。


我现在的(永久)解决方案

编辑
~/.mozilla/firefox/abcdef.default/chrome/userContent.css
(其中abcdef是随机字符串)

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

原始答案

我找到了一个解决方案来制作Firefox 完全忽略你的GTK主题。

编辑/usr/share/applications/firefox.desktop并进行更改

Exec=firefox %u

Exec=bash -c 'GTK_THEME=" " firefox %u'

当你(重新)启动FF时它将使用FF主题。

8
barro32

我正在使用Adwaita dark themeUbuntu 18。我在firefox 63.0中使用默认主题。在我的情况下,没有任何副作用的最佳解决方案是强制firefox使用轻主题(在我的情况下为Adwaita)仅用于web内容呈现:

  • 在地址栏中打开about:config
  • 创建一个新的字符串条目:widget.content.gtk-theme-override(右键单击>新建>字符串)。
  • 将值设置为灯光主题以用于内容呈现(在我的情况下为Adwaita)。
  • 重启firefox。

仅为内容过程更改GTK主题

2
nikau6

告诉Firefox它应该使用灯光主题而不是黑暗的最佳解决方案是在启动之前指定GTK_THEME变量。

所以,你有4种方法可以做到这一点..

1-从终端你可以做:

GTK_THEME=Adwaita:light firefox

2-如果你讨厌终端并想在firefox工作时关闭它:

GTK_THEME=Adwaita:light firefox &

3-来自firefox about:config你可以将以下设置设置为false:

browser.display.use_system_colors

不适用于localhost SITES!所以,如果你是一名网络开发人员/设计师,那对你来说效果不好。

4-如果你想要这是一个defualt行为:

只需在位于/usr/lib/firefox/firefox.sh的Firefox启动器脚本中添加两行即可

在终端类型中输入:

Sudo gedit /usr/lib/firefox/firefox.sh

看一下脚本的开头:

MOZ_LIBDIR=/usr/lib/firefox
MOZ_APP_LAUNCHER=`which $0`
MOZ_APP_NAME=firefox

export MOZ_APP_LAUNCHER

并将其更改为:

MOZ_LIBDIR=/usr/lib/firefox
MOZ_APP_LAUNCHER=`which $0`
MOZ_APP_NAME=firefox
GTK_THEME=Adwaita:light

export MOZ_APP_LAUNCHER
export GTK_THEME

最后,重启Firefox。

希望这可以帮助。

投票支持我。

谢谢 :)

2
Bannaz

有一种非常简单的方法可以为网页恢复默认颜色方案,同时仍然保留您的Firefox元素的GTK主题。我知道这不是所要求的,但它可能会帮助人们从Google搜索到这里。

  1. 导航到地址栏中的about:config
  2. 向下滚动,直到看到设置
    • browser.display.foreground_color
    • browser.diaplay.background_color
  3. 如果已修改这些设置,请右键单击它们并选择reset

应该是它,不需要重新启动。这适用于Firefox Quantum。

设置在about:config中

2
SeanW

这个 附加 (由 koushik 建议)适合我。

我在Ubuntu MATE 17.10上使用Firefox 57

2
Saftever

您可以使用不同的用户和相同的配置文件启动Firefox。将当前配置文件(〜/ .mozilla/firefox/profile)复制到该用户的不同文件夹,然后将其复制给用户,然后在控制台上运行:

su newuser
firefox -profilemanager

这听起来有点矫枉过正,但您可以将其放入脚本中。 Firefox将使用配置文件中的主题,但保留新用户的未经训练的GTK。

此外,这是使用Firefox和Ubuntu很有趣的东西:P

1
Fernando Briano

Bannaz解决方案 非常好用,因为我不使用.desktop文件,但有时(或者每次)升级Firefox时,我对启动器脚本的补丁消失了。

因此,我的解决方案是创建一个新的启动器脚本文件,该文件设置首选GTK主题,执行原始启动器脚本并且不受升级影响。


我系统上的原始启动器位于/usr/bin/firefox

我创建了一个位于/usr/bin/local/firefox的新启动器,其中包含以下内容:

#!/bin/sh
export GTK_THEME=Adwaita
exec /usr/bin/firefox "[email protected]"

更改路径位置以适合您的系统。并且不要忘记让它可执行:

Sudo chmod +x /usr/local/bin/firefox
0
fivethous

您可以从工具 - >插件 - >主题向Firefox添加另一个主题。然后只使用该主题而不是默认主题。

0
NightwishFan