小智 39
您可以使用 GTK 环境变量GTK_THEME=elementary来启动具有基本主题的应用程序。例如,运行GTK_THEME=elementary pantheon-files将使用基本 GTK 主题启动基本文件应用程序。
要在每次启动特定应用程序时都应用此功能,最好的选择可能是创建自定义 .desktop 文件(启动程序)。
/usr/share/applications/~/.local/share/applications/并粘贴启动器 (Ctrl+V)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为所需的应用程序)小智 11
这个问题仍然有效,我找到了一种方法:
创建任何文件夹 path/to/MY_FOLDER
在其中创建一个/share/themes/文件夹(即path/to/MY_FOLDER/share/themes)。
将任何 GTK3 主题放在后者中
将主题重命名为当前活动主题的名称。
最后,此命令将使应用程序使用重命名的主题而不是当前活动的主题:
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'
Run Code Online (Sandbox Code Playgroud)
是的,简单的方法是在运行应用程序的命令中将应用程序指向 rc 文件所在的所需路径:
GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc inkscape
Run Code Online (Sandbox Code Playgroud)
这在 12.04 forinkscape(它仍然是 Gnome2 btw)产生这个:

在此处查看有关运行的 Gtk2 主题的更多信息。
这当然可能,我没有太多的主题经验,但是当您导航到/usr/share/themes/*Theme Name*/gtk-3.0/apps/目录时,您会找到.css以它们针对主题的应用命名的文件,所以是的,您可以创建特定于应用的主题。
请注意,您提到的主题,你的应用程序可能需要一些工作的方式来完成(如同时兼具的氛围和基础工作,因为每个主题都有其特定应用程式的造型做了顶部的基本文件(文件gtkrc中的Gtk 2.0而,gtk.css在Gtk3.0情况下的文件)。
并且这个基本主题文件包含专门针对给定主题的样式规则,因此您无法在不进行一些重大更改的情况下从 Ambiance 的基本主题文件创建类似 Elementary 的外观,即使您这样做,您也会失去 Ambiance 外观本身。
此外,在 GNOME 中,一次只能应用一个主题,例如,如果您在 Ubuntu 12.04 中使用过外观窗口,您知道可以从下拉列表中选择任何一个主题,如果您使用过gnome-tweak-tool,则您可以为 Gtk、窗口框架和图标设置不同的主题,但仍然不允许将特定应用程序定位到主题,所以正如我之前所说,如果您巧妙地使用,您可以为不同的应用程序设置完全不同的主题基本主题文件,截至目前,没有第三方应用程序可以自行完成。
您可以自己完成的一种方法是,让基本主题文件 ( gtk.css) 仅具有与任何主题无关的基本规则,无论是深色还是浅色。并且将实际的主题设计写在驻留在上述目录中的特定于应用程序的文件中,即为了样式化 Nautilus,您可以在nautilus.css文件中编写所有必需的属性。与您希望定位的每个应用程序相同。显然,这样做需要一些不错的 Gtk 主题体验。
你可以参考这个使用模板创建你自己的主题,还有一个关于 Gtk+主题的不错的文档。
| 归档时间: |
|
| 查看次数: |
35087 次 |
| 最近记录: |