如何让Firefox完全忽略我的GTK主题?
我在我的Ubuntu 10.10安装中安装了一个黑暗的GTK主题,并且我也喜欢为Firefox安装了一个角色。
问题是Firefox使用我的黑暗GTK主题来处理普通网页上的按钮和文本字段等项目,这通常会产生无法读取的菜单,文本区域和按钮。 (白色背景上的白色文本或黑色按钮上的黑色文本)。
我不想改变任何一个主题,因为它们在其他所有应用程序中看起来都很棒,而且我不想为我的Firefox安装做一些疯狂的事情,比如使用自定义用户脚本或CSS覆盖。
我想要做的就是告诉Firefox完全停止使用我的GTK主题。 这似乎是谷歌的Chrome浏览器所做的,它到目前为止最有意义。
Web开发人员如何解决所有可能的GTK主题?
使用以下命令之一启动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主题……
之前
后
我想在@lovinglinux中添加一个方法,让Firefox在从任务栏中的启动器而不是命令行打开时加载主题:
- 将/usr/share/applications/firefox.desktop编辑为sudo,
-
在“Exec”行中,使用上述@lovinglinux提供的说明,使用命令替换“=”后面的值:
bash -c’GTK2_RC_FILES = / usr / share / themes / Redmond / gtk-2.0 / gtkrc firefox%u’
结果如下:
更新 :当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主题。
永久解决方案
您可以指定一个轻量级GTK主题,用于在about:config中呈现网页。 这很好,因为您的系统主题仍然适用于菜单等,但网页将以轻量级主题呈现。
- 在Firefox浏览器中导航到
about:config
- 右键单击并选择new-> string
- 输入
widget.content.gtk-theme-override
作为名称 - 输入您在系统上安装的轻量级GTK主题。 例如
Arc
- 重启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
告诉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网站! 因此,如果您是一名Web开发人员/设计人员,那么对您来说效果不佳。
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。
希望这可以帮助。
投票支持我。
谢谢 :)
这个附加组件 (由koushik建议)对我很有用。
我在Ubuntu MATE 17.10上使用Firefox 57
有一种非常简单的方法可以为网页恢复默认的配色方案,同时仍然保留您的Firefox元素的GTK主题。 我知道这不是所要求的,但它可以帮助人们从谷歌搜索来到这里。
- 导航到地址栏中的
about:config
。 - 向下滚动,直到看到设置
-
browser.display.foreground_color
-
browser.diaplay.background_color
-
- 如果已修改这些设置,请右键单击它们并选择
reset
。
应该是它,不需要重新启动。 这适用于Firefox Quantum。
about:config中的设置
您可以使用不同的用户和相同的配置文件启动Firefox。 将当前配置文件(〜/ .mozilla / firefox / profile)复制到该用户的不同文件夹,然后将其复制给用户,然后在控制台上运行:
su newuser firefox -profilemanager
这听起来有点矫枉过正,但你可以将它放入脚本中。 Firefox将使用配置文件中的主题,但保留新用户的未经训练的GTK。
此外,这是使用Firefox和Ubuntu很有趣的东西:P
您可以从工具 – >插件 – >主题向Firefox添加另一个主题。 然后只使用该主题而不是默认主题。
Bannaz解决方案效果很好,因为我不使用.desktop文件,但有时(或者每次)升级Firefox时,我对启动器脚本的补丁消失了。
所以我的解决方案是创建一个新的启动器脚本文件,该文件设置首选GTK主题,执行原始启动器脚本并且不受升级影响。
我系统上的原始启动器位于/usr/bin/firefox
。
我创建了一个位于/usr/bin/local/firefox
的新启动器,其中包含以下内容:
#!/bin/sh export GTK_THEME=Adwaita exec /usr/bin/firefox "$@"
更改路径位置以适合您的系统。 并且不要忘记使其可执行:
sudo chmod +x /usr/local/bin/firefox