答案1
无处可寻。
自从 GNOME 2 弃用以来,GTK+ 主题的“index.theme”规范似乎不再有文档记录。GTK+和GNOME 开发人员网站基本上没有关于 GTK+ 主题的“index.theme”的文档。
已知文档
已知最早的文献,GNOME 2.4 桌面系统管理指南,最后更新于 2003 年。这可能是 GTK+ 主题的原始“index.theme”规范。
[Desktop Entry]
Type=X-GNOME-Metatheme
Name=High Contrast Large
Name[es]=Alto contraste grande
Comment=Large black-on-white text and icons
Comment[es]=Textos e iconos grandes en negro sobre blanco
Encoding=UTF-8
[X-GNOME-Metatheme]
GtkTheme=HighContrastLargePrint
IconTheme=HighContrast
MetacityTheme=Atlanta
ApplicationFont=sans 18
随后,GNOME 邮件列表于2004 年 7 月和2004 年 10 月(下面只引用后者)。遗憾的是,GTK+ 或 GNOME 开发人员没有更新文档来说明这些更改。
gnome-theme-manager 目前处理 GTK、Metacity 和 Icon 主题,但可以扩展以处理启动画面和背景(可能与当前背景选择器集成?)。
一个相对较新的文献,Gnome 主题包格式由 Xfce 开发,最后更新于 2010 年。这包括了index.theme
文件中原始规范中没有的更多变量,并反映了 GNOME 邮件列表中提到的一些更改。
[Desktop Entry]
Name=example theme
Type=X-GNOME-Metatheme
Comment=
Encoding=UTF-8
[X-GNOME-Metatheme]
GtkTheme=Gilouche
MetacityTheme=Gilouche
IconTheme=gnome
BackgroundImage=.local/share/wallpapers/Naptime.jpg
MonospaceFont=
ApplicationFont=
DesktopFont=
SoundTheme=
GtkColorScheme=
支持事实已发现艺术品/文档/GTK 主题在 Ubuntu Wiki 上,其中提到了其中一个附加变量。然而,该资料最后一次更新是在 2009 年。
在您的 index.theme 文件中,在 X-GNOME-Metatheme 标题下添加一行类似“
BackgroundImage=/absolute/path/to/image.png
”的内容。对于打包的主题,壁纸应假定放置在 中/usr/share/wallpapers
。
是否使用
如果您不太确定是否要使用过时文档中提供的示例,我建议从现有主题中复制文件并进行相应修改。GTK+ 主题将在某些 Ubuntu 和官方版本中index.theme
包含该文件。/usr/share/themes/THEME/index.theme
使用index.theme
文件的另一种方法是,不必编写文件。
至少有一个例子演示了自定义 GTK+ 主题可以通过符号链接引用现有文件。这样,就可以在更短的时间内创建现有主题的略微修改版本,而不必担心index.theme
文件的规范。
总结今天你能找到的最新文献,尽管没有解释,是Gnome 主题包格式由 Xfce 提供。或者干脆忘掉它,然后按照其他主题的做法去做。
答案2
我找到了这个 gtk+-2 时代的教程https://wiki.gnome.org/Attic/GnomeArt/Tutorials/IconThemes,其中解释了图标文件中每个字段的用途 index.theme
。您可以阅读整个文档,但这里只列出了最相关的句子。
要开始制作主题,请创建一个与主题名称相同的文件夹,或者按照上述建议复制另一个主题,然后就可以开始设置主题了。图标主题最重要的方面是 index.theme,这是一个 ini 样式的配置文件,它以不同的部分描述主题。主要和最重要的部分细分如下:[...]
[IconTheme]
本节以非常简单且直观的方式描述了主题的布局
Name = ThemeName
此字段代表主题的名称,应显示在 Gnome 主题管理器的图标部分,主题文件夹名称与此字段匹配非常重要
Comment = This is the theme comment
此字段代表主题的注释,有时会显示在 Gnome 主题管理器中
Directories = iconsize1/iconcategory1, iconsize1/iconcategory2, iconsize2/iconcategory1
该字段代表包含实际图标的目录
Inherits = RootTheme
此字段表示此主题继承自的根主题。如果主题未提供特定图标,GNOME 将在此根主题中查找图标,然后再返回系统默认值。
IconTheme 部分列出的每个目录还需要自己的部分来描述图标大小和类型:
[Directory]
本节介绍此目录中图标的特征
Size = IconSize
如果它们是位图图标(PNG 或 XPM),则此字段表示位于此目录中的图标的大小;如果它们是可缩放图标(又名 SVG),则表示默认比例
MinSize = IconSize
该字段表示位于此目录中的可缩放图标(SVG)可以缩放到的最小尺寸。
MaxSize = IconSize
该字段表示位于此目录中的可缩放图标(SVG)可以缩放到的最大尺寸。
Threshold = SizeThreshold==
如果图标类型为阈值,则此字段表示位于此目录中的位图图标(PNG / XPM)可用于的最大尺寸阈值。
Context = IconCategory
此字段表示使用这些图标的类别或上下文。此值可以是 FileSystems(用于文件夹或硬盘驱动器)、徽章、应用程序、设备或 MimeType
Type = IconType
此字段代表位于此目录中的图标类型,对于可缩放图标(SVG),它可以是可扩展的,对于位图图标(PNG 或 XPM),可以是阈值或固定的(我也见过使用缩放,这是有效的吗?!)