好吧,前段时间,我开始构建一个 LFS,并且(出于某种原因)我开始思考一些 BLFS 的东西,比如“它将使用什么图标主题?”和“如果可能的话,我可以制作自己的主题加载器吗?”。
那么,发行版的哪个部分负责加载主题(例如,哪些包)?
我可以制作自己的加载器吗?
如果是,我该怎么做?
支持什么,不支持什么(例如,动画 SVG,或具有特定名称的文件的图标)?
答案1
“主题加载器”并不是 Linux 上单独存在的东西。对主题的支持实际上是 Linux 组件的一部分。主题化– 例如,如果您有一个应用程序使用 GTK 3 库来绘制其用户界面(按钮、输入等),那么 GTK 3 本身就会查看设置并gtk-theme-name
加载特定的外观。
类似地,GTK+ 2 加载自己的皮肤/样式,Qt 加载自己的皮肤/样式,EFL 加载自己的皮肤/样式,并且它们各自使用不同的主题格式。图标主题也是如此,因为用 GTK 编写的程序通常会使用 GTK API 中的“加载图标”功能 - 因此每个工具包的工作仍然是查找正确的图标主题目录(通常是 /usr/share/icons/Foo)并加载正确的文件。
不同的工具包确实在以下方面达成了共识:图标主题格式 –大多– 因此,如果您将图标主题放在标准位置,则当您配置“图标主题名称”时,GTK 和 Qt 都会使用它。预期格式为预定义大小的 PNG 和“可缩放”图标的 SVG。