Appindicator 主题相关图标

Appindicator 主题相关图标

我正在使用 appindicator 开发 PyGTK 应用程序。我创建了类似以下的 appindicator示例。本例中使用了“indicator-messages”股票图标。

因此,我可以:

  1. 使用库存图标(来自现有主题)
  2. 创建自定义图标

问题是,如果我使用库存图标,如何确定哪些图标可用(这在所有操作系统上是否一致,是否由 GTK 提供)?这在不同的 Linux 发行版上的行为是否相同?

或者,如果我创建自定义图标,如何检测哪个主题处于活动状态(我想我需要有深色和浅色图标版本)并呈现适当的图标?其他主题怎么样,看起来很难支持所有主题?

http://unity.ubuntu.com/projects/appindicators/它说“可主题化的面板图标 - 您可以将特定图标设置为指示器的面板图标:这应该可以更容易地为明暗主题创建单色面板图标。”但它没有说如何实现这一点?

我发现天气指示器确实如此,但我认为是用库存图标。

答案1

对于你的问题:

如果我创建自定义图标,如何检测哪个主题处于活动状态(我想我需要有深色和浅色图标版本)并呈现适当的图标?其他主题怎么样,看起来很难支持所有主题?

您可以使用 GtkSettings 类中定义的“gtk-theme-name”属性来获取正在活动的主题的名称。

有关 GtkSettings 的更多信息,请查看

答案2

对于 Stock ICons 的部分,我在 gnome dev center 找到了这个,

库存项目属于 GtkStockItem 结构类型。

struct GtkStockItem {
  gchar *stock_id;
  gchar *label;
  GdkModifierType modifier;
  guint keyval;
  gchar *translation_domain;
};

这里每个库存商品都有一个库存 ID,这个相同的库存 ID 从 GtkIconFactory 映射到一个图标,请参阅 gnome 文档:

每个股票 ID 可以与一个 GtkStockItem 相关联,其中包含用户可见的标签、键盘加速器和菜单或工具栏项的翻译域;和/或与存储在 GtkIconFactory 中的图标相关联

GtkStockItem 和库存图标之间的连接完全是常规的(通过使用相同的库存 ID);可以注册库存项目但不注册图标,反之亦然。库存图标可能具有 RTL 变体,用于从右到左的语言环境。

如需了解更多信息,请参阅

抱歉,将其作为第二个答案发布而不是评论,我无法在评论中输入这么长的文字。

相关内容