‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
Le jeudi 15 octobre 2020 16:48, Jean-Marc <[email protected]> a écrit :

> Thu, 15 Oct 2020 14:14:23 +0000
> benoit [email protected] écrivait :
> > Comment cela fonctionne-t-il sous le capot ?
>
> XDG MIME Type.
>
> Pour connaître le MIME Type d'un fichier, tu as la commande :
> xdg-mime query filetype FILE
>

Désolé parfois j'oublie de changer de destinataire dans mon client mail et ça 
répond à l'expéditeur plutôt qu'à la liste...
Bon j'ai finis par comprendre les derniers détails.

Ok ça fonctionne.
$ xdg-mime query filetype unFichierFreeCad.fcstd
application/x-extension-fcstd


> Pour savoir l'app associée avec un type de fichier :
> xdg-mime query default MIMEtype
>

$ xdg-mime query default application/x-extension-fcstd
org.freecadweb.FreeCAD.desktop


> La DB se trouve, en général, dans le répertoire /usr/share/applications/.
> Dans les fichiers /usr/share/applications/mimeinfo.cache ou 
> /usr/share/applications/<desktopenv>-mimeapps.list
>

J'ai opté pour une config dans ma HOME pour bien maîtriser les détails .

Tout est bien expliqué ici :
> Sinon, il y a aussi la doc :
> https://wiki.archlinux.org/index.php/XDG_MIME_Applications
> https://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec/
>

Dans les sources, il y a ces fichiers :

org.freecadweb.FreeCAD.appdata.xml.in
cp org.freecadweb.FreeCAD.desktop
cp org.freecadweb.FreeCAD.svg
cp org.freecadweb.FreeCAD.xml

Ces quelques lignes montrent où les copier dans la HOME :

CMAKE_INSTALL_DATAROOTDIR=$HOME/.local/share/

cp org.freecadweb.FreeCAD.appdata.xml.in 
${CMAKE_INSTALL_DATAROOTDIR}/metainfo/org.freecadweb.FreeCAD.appdata.xml
cp org.freecadweb.FreeCAD.desktop ${CMAKE_INSTALL_DATAROOTDIR}/applications/
cp org.freecadweb.FreeCAD.svg 
${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps/
cp org.freecadweb.FreeCAD.xml ${CMAKE_INSTALL_DATAROOTDIR}/mime/packages/

Ensuite on utilise la commande :

update-mime-database ~/.local/share/mime

Et tout fonctionne.

C'est bien le fichier "org.freecadweb.FreeCAD.svg" placé dans
$HOME/.local/share/icons/hicolor/scalable/apps/
Qui affiche l'icône devant les fichiers dans le navigateur de fichier.

C'est le même principe si on le fait pour le système au lieu de la HOME

Il suffit de changer :
CMAKE_INSTALL_DATAROOTDIR=/usr/share/

Un grand merci pour votre aide.

--
Benoit

Répondre à