问题描述
例如,我可以将Ambiance作为主题,但是将基本主题分配给小学的应用程序吗?
最佳解决方案
您可以使用GTK环境变量GTK_THEME=elementary
来启动具有基本主题的应用程序。例如,运行GTK_THEME=elementary pantheon-files
将使用基本GTK主题启动基本文件应用程序。
要在每次启动特定应用程序时应用此选项,最佳选择可能是创建自定义.desktop文件(启动程序)。
创建自定义.desktop文件
-
打开文件浏览器
-
导航到
/usr/share/applications/
-
使用基本主题复制要启动的应用程序的启动程序(突出显示和Ctrl + C)
-
导航到
~/.local/share/applications/
并粘贴启动器(Ctrl + V) -
Right-click并使用文本编辑器打开启动器
-
修改以
Exec=
开头的行,以包含Exec=env GTK_THEME=elementary
,然后修改该行的先前现有内容。 (所以Exec=pantheon-files
将成为Exec=env GTK_THEME=elementary pantheon-files
) -
保存并关闭文件
下次从Unity(或您选择的应用程序启动器)启动应用程序时,它将使用基本主题。
奖励:使用命令行时使其工作
您可能还希望应用程序在从命令行启动时使用基本主题启动。为此:
-
打开终端应用
-
键入
alias pantheon-files="GTK_THEME=elementary pantheon-files"
(用所需的应用程序替换pantheon-files
) -
按Enter键
注意事项:
-
这不会将窗口管理器的主题更改为基本主题。
-
此(按设计)仅适用于您的帐户,而不是root或计算机上的任何其他人。
-
主题名称为cAsE-sEnsItiVe,应与主题文件夹名称匹配。
资料来源:
次佳解决方案
问题仍然有效,我找到了一种方法:
-
创建任何文件夹
path/to/MY_FOLDER
-
在其中创建一个
/share/themes/
文件夹(即path/to/MY_FOLDER/share/themes
)。 -
将任何GTK3主题放在后者中
-
将主题重命名为CURRENTLY ACTIVE THEME的名称。最后,此命令将使应用程序使用重命名的主题而不是当前活动的主题:
GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATON
(GTK_DATA_PREFIX=
之后的路径必须是包含/share/themes/RENAMED_THEME
的文件夹(并且只有那个)。这就是为什么它不是path/to/MY_FOLDER/share/themes/RENAMED_THEME
,而只是path/to/MY_FOLDER
。)
要将其置于启动器内,请相应更换:
Exec=sh -c 'GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATION'
第三种解决方案
它当然可能,我没有太多的主题经验,但是当你导航到/usr/share/themes/*Theme Name*/gtk-3.0/apps/
目录时,你会发现.css
文件,以他们定位到主题的应用程序命名,所以是的,你可以创建app-specific主题。
请注意,您提到的主题应用程序的方式可能需要完成一些工作(例如同时使Ambiance和Elementary同时工作,因为每个主题都有一个基本文件,特定于应用程序特定样式,(Gtk中的文件gtkrc
) 2.0时,文件gtk.css
在Gtk3.0的情况下)。
此基本主题文件包含专门针对给定主题的样式规则,因此您无法在不进行任何重大更改的情况下从Ambiance的基本主题文件创建基本的外观和感觉,即使您这样做,也会松散Ambiance看起来自己。
此外,在GNOME中,一次只能应用单个主题,例如,如果您在Ubuntu 12.04中使用了外观窗口,您知道可以从下拉列表中选择任何单个主题,以防您使用了gnome-tweak-tool
,你可以为Gtk,Window框架和图标设置不同的主题,但是,它仍然不允许将特定的应用程序定位到主题,所以如前所述,如果你聪明地工作,你可以为不同的应用程序设置完全不同的主题使用基本主题文件,截至目前,没有第三方应用程序可以自己完成。
你可以自己做的一种方法是,让基本主题文件(gtk.css
)只有对任何主题都是中性的基本规则,无论是黑暗还是浅色。并且使用位于上述目录中的app-specific文件编写实际主题设计,即为了设置Nautilus样式,您可以在nautilus.css
文件中编写所有必需属性。与您希望定位的每个应用程序相同。显然,这样做需要一些体面的Gtk主题体验。
你可以参考this使用模板创建自己的主题,也有对GTK +更换主题皮肤体面documentation。
第四种方案
是的,简单的方法是在运行应用程序的命令中将应用程序指向rc文件所在的所需路径:
GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc inkscape
这个12.04 for inkscape(仍然是Gnome2 btw)产生了这个:
查看有关运行here的Gtk2主题的更多信息。