防止 Ubuntu 主题改变 Firefox 的外观

防止 Ubuntu 主题改变 Firefox 的外观

如何防止我安装到 Ubuntu 中的主题影响 Firefox 的外观?更改窗口的外观是可以的,但它会改变我的选项卡、菜单和文本框区域的外观。

答案1

除非有专门为此实现的功能,否则恐怕这是不可能的,因为 Firefox 使用原生小部件。例如,对话框中的“确定”按钮看起来与 Firefox 选项中的“确定”按钮相同。目标是使通用外观和感觉适用于所有原生应用。您可以使用主题但您可以根据自己的喜好稍微改变 Firefox 的外观。

答案2

有办法!我很高兴找到了这个 - 我的 GTK 主题非常适合菜单和大多数应用程序,但使 Tilda 中的颜色选择器和 Firefox 中的许多输入类型(复选框、单选按钮、一些文本区域等)不可见,我猜是因为双方对样式继承的工作方式的假设不正确。如果您实际上不是在谈论 GTK 主题,我很抱歉,我对其他主题了解不多。

无论如何,您可以从终端、桌面条目或启动器将 GTK_THEME 变量设置为图形应用程序的前缀。在测试中,Thunar 不遵循主题,但 Gedit 和 Firefox 遵循。

从终端运行:

GTK_THEME=<theme> <application>

修改桌面启动器:

Exec=env GTK_THEME=<theme> <application> %U

https://unix.stackexchange.com/a/185115

当然,您仍然可以应用 Firefox 主题 - 事实上,您将获得更可靠的结果,因为您可以自由地独立篡改您的环境和 Firefox 主题。这也意味着您可以使用不同的本机主题(甚至批量!)验证应用程序的主题/皮肤,而无需更改您自己的配置。为此,我建议创建一个新的 Firefox 配置文件,只安装一个浏览器主题来测试它。

有一些注意事项;首先,许多应用程序都有一个薄包装器,用于检查环境变量以准备调用核心程序,如果它们错过了这个变量,无意中破坏了它,或者故意覆盖了它,那么一切都将不复存在。其次,无论有没有包装器,图形应用程序都必须愿意并能够读取这些设置。对于 QT,我发现了以下内容:

QApplication::setDesktopSettingsAware

设置 Qt 是否应使用系统的标准颜色、字体等。默认情况下,此设置是 true。

http://pyqt.sourceforge.net/Docs/PyQt4/qapplication.html#setDesktopSettingsAware

因此,工具包可能会提供用于继承主题的接口,但几乎总有办法绕过它。相比之下,如果您想在 QT 中使用 GTK 来处理本机元素,该怎么办?显然,有几种转移注意力的方法和一种不太为人所知的方法,并不适合所有人。

https://stackoverflow.com/questions/40455844/make-qt-application-use-gtk-theme

我的 Firefox UI 噩梦已经结束,希望您的也一样。如果您将来遇到此类问题,请尝试在 chroot、VM 或新用户配置文件中进行测试,以查看哪些变量在起作用。这是我能提供的最好的建议。

答案3

您可以编辑默认配置文件 userContent.css:

 ~/.mozilla/firefox/abc123abc.default/chrome/userContent.css

例如,如果使用深色主题并且文本难以阅读:

用户内容.css:

input {
   border: 2px inset white;
   background-color: white;
   color: black;
   -moz-appearance: none !important;
}

相关内容