![在运行时检测 GTK 主题变化](https://linux22.com/image/1076736/%E5%9C%A8%E8%BF%90%E8%A1%8C%E6%97%B6%E6%A3%80%E6%B5%8B%20GTK%20%E4%B8%BB%E9%A2%98%E5%8F%98%E5%8C%96.png)
我在用此代码为我的应用程序设置合适的 appindicator 图标。基本上,我为 Ambiance 和 Radiance 主题设置了单独的单色深色/浅色图标,以便将我的应用程序集成到 Unity 桌面,就像许多其他应用程序一样。这很有效,但我注意到其他应用程序(Tomboy、thunderbird...)在主题更改后立即更新其 appindicator 图标。他们是如何做到的?使用我当前的实现,我需要重新启动我的应用程序才能获得正确的图标。
答案1
Tomboy 实际上没有用于检测主题更改的代码。它的图标会自动更改,因为 ubuntu-icon-dark 图标主题(由 Ambiance 使用)和 ubuntu-icon-light 图标主题(由 Radiance 使用)中都有 Tomboy 图标。这是推荐的方式。