开发者

Python: Get list of applications associated with file (Linux)

开发者 https://www.devze.com 2023-02-18 20:36 出处:网络
Am making an application in Python and I need to provide \"Open with\" menu to user. Currently I am parsing /usr/share/applications/mimeinfo.cashe and ~/.local/share/applications/mimeapps.list but wit

Am making an application in Python and I need to provide "Open with" menu to user. Currently I am parsing /usr/share/applications/mimeinfo.cashe and ~/.local/share/applications/mimeapps.list but with very poor results. Nautilus has more entries in "Open with" menu.

Do you know a better way for getting list of applications associated with file?

Edit:

There is a simpler way using gnomevfs module.

mime_type = gnome开发者_运维百科vfs.get_mime_type(filename)
application_list = gnomevfs.mime_get_all_applications(mime_type)

In returned list you get application name, icon name, config file and many other stuff.


I've found a bit more elegant solution. In gnomevfs module there is function named mime_get_all_applications which returns proper list of associated applications.

More information can be found here.

Edit: Since the time this answer was written, GnomeVFS was marked as deprecated. GIO does provide this functionality now with methods like app_info_get_all and app_info_get_for_type.


GNOME stores its application lists in those two files:

/etc/gnome/defaults.list
~/.local/share/applications/mimeapps.list

(link to source)

0

精彩评论

暂无评论...
验证码 换一张
取 消