基于文件的mimetype获取图标,Linux + Python

时间:2016-01-02 17:37:05

标签: python linux pyqt gtk mime-types

核心问题:

如何将mimetype - image/png转换为图标文件的实际路径 - /usr/share/icons/Menda-Circle/mimetypes/24x24/application-image-png.svg

虽然尊重Linux发行版DE的图标主题集?

自己的进步:

mimetypes.guess_type()会根据文件名很容易地给我一个mimetype文件。

将mimetype转换为导致图标

的路径并不容易

到目前为止,我没有幸运使用linux自己的xdg-utils,或者在检测图标主题或者超越它时使用pyxdg。 PyQt5似乎也有问题,当大多数DE不是基于Qt时,这是可以理解的。也许在KDE上会得到一些东西。

所以通过一些谷歌搜索,我可以用它来通过Gtk检测图标主题

from gi.repository import Gtk
print(Gtk.Settings.get_default().get_property("gtk-icon-theme-name"))

那就是我现在所处的地方,我想通过一些工作并调整所有情况,我可以想出一些功能来获取最常见的发行版/ DE和最常见的图标主题上的图标。假设我弄清楚将模仿类型转换为图标文件名。

但这一切都感觉应该已经完成​​并完成了。它的一些freedesktop标准和每个文件管理器或任何带有文件选择器或显示文件和文件夹的程序都使用此功能吗?

有一些很好的方式可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

Gio的ContentType处理为您获取文件类型及其图标:

https://lazka.github.io/pgi-docs/#Gio-2.0/functions.html#Gio.content_type_get_icon