Rendez-vous sur Arrakis

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément. F. Herbert

Trouver l'icône selon le mimetype en GTK3

Dans le cadre du handymenu version 4, je porte le code vers gtk3.
J'en ai profité pour y rajouter des trucs rigolos, comme la liste des pages les plus visitées sous firefox ou encore les documents récents.

alt

Pour cette dernière fonctionnalité, on regarde en fait dans le fichier ~/.local/share/recently-used.xbel, où on peut récupérer les noms de fichiers récents et leur type mime (ou mimetype).

Quitte à rendre le menu plus joli, je voulais afficher l'icône du type mime du fichier. Comme j'ai un peu galéré à trouver la solution pour gtk3, voici la solution :

 # il faut importer Gio
 from gi.repository import  Gio
 # votre code
 # encore du code

icon = Gio.contenttypegeticon(mimetype) # retourne un objet de type "icone" image.setfromgicon(icon, Gtk.IconSize.BUTTON) # on met l'icône dans un objet image image.setpixel_size(iconsize)


Et pour récupérer le mimetype, c'est dans le fichier ~/.local/share/recently-used.xbel, sinon, importez la lib mimetypes de python3 pour le retrouver à partir du nom de fichier.