与桌面无关的图标主题查找

与桌面无关的图标主题查找

如何在不使用 GNOME、KDE ​​或任何其他桌面特定程序/库/文件的情况下确定用户的图标主题?

pyxdg我在库中或 xdg 规范中找不到有关如何确定用户图标主题的任何内容。

xdg-* 命令行工具也无法做到这一点,特别是:

$ xdg-settings --list
Known properties:
  default-web-browser           Default web browser

这是它“知道”的唯一设置!

对于 GNOME,可以通过以下方式完成:

$ gsettings list-recursively | grep icon-theme
org.gnome.desktop.interface icon-theme 'ubuntu-mono-dark'

但这在其他地方不起作用!

更具体地说,我的问题是,pyxdg库不会返回许多应用程序的图标,除非我显式传递主题名称或自己设置库相应的全局变量。因此我

  • 要么必须自己找到所有已安装的主题(很多额外的丑陋代码,pyxdg 也不这样做)并可能搜索所有主题(慢)
  • 或者必须查找当前主题的名称(每个桌面环境的额外丑陋代码,像 xmonad 这样的自定义/最小设置怎么样)

因此,这确实属于像pyxdg.但他们并没有这样做,尽管声称实施了 xdg 标准。这让我想知道是否/为什么没有指定它。

答案1

没有全局图标主题设置,所以原则上不能这样做。如果您更改 KDE 图标主题,它不会更改 GNOME 应用程序中的图标。

KDE 应用程序在 GNOME 桌面环境中运行时,将使用 GNOME 主题设置,但这并不是因为全局设置,而是因为 Qt 工具包添加了一种机制来检测 GNOME 主题并使用它。它最终仍然是 GNOME 特定的设置,如果您切换到另一个桌面环境,它就不会保留。

相关内容