gnome – GTK – 基于每个应用程序启用/设置黑暗主题

有没有办法为应用程序设置gtk-application-prefer-dark-theme?

这通常由应用程序在代码中设置.诸如Eye of Gnome和Totem等应用程序将其打开.我希望,作为用户打开它,在每个应用程序基础上.

对于gnome-terminal,我通常在黑色背景配色方案上使用白色文字,并且具有暗窗口边框将改善整体外观.

我也想为vlc打开它.

最佳答案
使用gtk≥3.12,您可以通过环境变量GTK_THEME = theme:variant在每个application1的基础上加载特定主题及其变体(暗,亮).根据gtk+ reference manual

GTK_THEME.  If set, makes GTK+ use the named theme instead of the theme that is
specified by the gtk-theme-name setting [...] It is also possible to specify a
theme variant to load, by appending the variant name with a colon, like this:
GTK_THEME=Adwaita:dark.

因此,要加载2暗色变体,您将运行:

GTK_THEME=Adwaita:dark gedit

同样,要实现相反的操作(当默认主题为暗时),您可以加载灯光变体:

GTK_THEME=Adwaita:light gedit

请注意,如果要通过自定义启动程序(.desktop文件)使用它,则必须在Exec行中的命令前加上env:

Exec=env GTK_THEME=Adwaita:dark eog %U

1:值得注意的是 – 根据开发者的决定 – 较新的gnome-terminal通过菜单>拥有自己的配置.偏好,它忽略了主题.此外,由于这是一个相当新的东西,一些gtk 3应用程序可能(还)不尊重GTK_THEME环境变量.
2:如果您已经拥有该应用程序的运行实例,这似乎不起作用,例如如果nautilus已经在黑暗模式下运行,那么运行GTK_THEME = Adwaita:light nautilus将打开一个新的nautilus窗口,但仍处于黑暗模式.我不知道这是一个功能还是一个bug …

转载注明原文:gnome – GTK – 基于每个应用程序启用/设置黑暗主题 - 代码日志