búsqueda de tema de icono de escritorio agnóstico

¿Cómo se puede determinar el tema del icono del usuario sin usar ni GNOME ni KDE ni ningún otro progtwig / biblioteca / file específico del escritorio?

No pude encontrar nada sobre cómo determinar el tema del icono de los usuarios, en la biblioteca pyxdg ni en la especificación xdg.

Las herramientas de command-line xdg- * tampoco pueden hacerlo, en particular:

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

es la única configuration sobre la que "sabe"!

Para GNOME se puede hacer, entre otros, por

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

¡pero eso no funciona en otro lado!

Mi problema más específico es que la biblioteca pyxdg no devuelve icons para muchas aplicaciones, a less que pase el nombre del tema explícitamente o establezca las bibliotecas correspondientes a la variable global. Por lo tanto yo

  • o bien tengo que encontrar todos los temas instalados (un montón de código feo adicional, pyxdg tampoco hace esto) y search con todos potencialmente (lento)
  • o tiene que search el nombre del tema actual (código más feo para cada entorno de escritorio, ¿qué pasa con configuraciones personalizadas / mínimas como xmonad)?

Por lo tanto, esto realmente pertenece a bibliotecas como pyxdg . Pero no lo hacen, a pesar de afirmar que implementan el estándar xdg. Lo que me hace preguntarme si / por qué eso no lo especifica.

No hay una configuration global del tema del icono, por lo que esto no se puede hacer en principio. Si cambias el tema de tu icono de KDE, no cambiará tus íconos en tus aplicaciones de GNOME.

Las aplicaciones de KDE, cuando se ejecutan en un entorno de escritorio GNOME, usarán la configuration del tema de GNOME, pero eso no se debe a la configuration global sino más bien porque el kit de herramientas de Qt ha agregado un mecanismo para detectar el tema de GNOME y usarlo. Todavía es, en última instancia, una configuration específica de GNOME, y no se transferirá si cambia a otro entorno de escritorio.