Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/03/2011, à 15:05

Hibou57

[Info] Vous n'arrivez pas à associer une icône à un type MIME ?

Updated: 2011-03-13

Hello,

Je viens d'étudier la question, et même s'il me reste des choses à vérifier, je viens d'éclaircir un mystère qui a fait suer du monde, et moi-même dernièrement : les associations d'icônes à un type MIME, pourquoi tantôt ça marche et tantôt ça marche pas ? Pourquoi les effets semblent t-il si souvent incompréhensibles ou en apparence aléatoires ?

Réponse en plusieurs points…



1. Les « mixin » de thèmes d'icônes ne fonctionnent pas totalement avec Nautilus

Si vous voulez faire les choses proprement, je pense que vous préférez modifier votre thème d'icône localement plutôt que de modifier les thème d'icônes système. Mais j'ai vérifié que GNOME n'aime pas fusionner les thèmes personnels avec les thèmes systèmes. Si votre thème est GNOME, par exemple, et que vous créez un dossier ~/.local/share/icons/gnome avec les sous-répertoires correspondants pour compléter votre thème GNOME avec des icônes personnelles, vous aurez de bonnes chances que rien ne fonctionne. Plus exactement, si vous associez une icône à un type MIME, elle ne sera pas entièrement prise en charge. L'icône apparaitra bien dans les propriétés du fichier, mais elle ne sera pas utilisée par Nautilus dans la vue des répertoires.

Ceci semble être une défaillance spécifique à Nautilus, car d'autres applications, comme la boite de propriété des fichiers, sont capables de retrouver l'icône.

154904iconemimedansproprietesfichier.png

Solution : créez un autre thème d'icônes local, que vous nommerez par exemple My Gnome (voir point #7 pour une manière simple de le faire), que vous ferez hériter du thème Gnome du système, et auquel vous ajouterez vos icônes additionnelles.



2. GNOME ou Nautilus ne savent pas retrouver une icône qui existe pourtant

GNOME ou Nautilus, vont par défaut rechercher une icône dans le répertoire correspondant le mieux au dimensions de l'icône, selon le contexte d'affichage. Si GNOME a besoin d'une icône MIME 24x24, il ira la rechercher dans <theme>/24x24/mimetypes. S'il ne la retrouve pas là, il n'ira pas la chercher ailleurs, même si elle existe dans <theme>/scalable/mimetypes.

Solution : une icône, pour qu'elle soit toujours retrouvée, doit être présente dans tous les formats. Si vous ne souhaitez pas créer des icônes pour tous les formats, alors mieux vaut encore supprimer des formats. Il est par exemple possible de créer un thème, ne proposant que le format scalable; de cette manière GNOME ira toujours les rechercher dans scalable.



3. GNOME ou Nautilus ne savent pas retrouver une icône qui existe pourtant dans tous les formats

Solution : Ouvrez le fichier index.theme correspondant au thème (ne cliquez pas dessus pour l'ouvrir, il ne s'ouvrira pas, ouvrez le depuis gedit ou geany), et vérifiez que le répertoire correspondant est bien listé dans Directories et qu'il apparait également en temps que section à la suite de Directories.



4. Les points #2 et #3 sont vérifiés, mais GNOME ou Nautilus n'affichent toujours pas l'icône

De la même manière que pour le point #1, si un répertoire, bien qu'il n'existe pas, est listé dans le fichier index.theme, alors GNOME ou Nautilus tenteront de trouver l'icône dans le répertoire correspondant, et n'y parviendront évidement pas. Tout comme avec le cas de l'icône n'existant pas pour un format donné, il n'iront pas chercher plus loin, et échoueront.

Solution  : éditez le fichier index.theme de la même manière que pour le point #3, mais cette fois ci, supprimez les répertoires listés et leurs sections, pour tous les répertoires qui n'existent pas réellement dans le thème.



5. Je fais des update-icon-caches ou gtk-update-icon-cache à tours de bras, et ça ne marche pas

Les problèmes d'affichage d'icônes sont fréquents (apparement autant que sous Windows), et les nombreux fils de forums à ce sujet, conseillent des update-icon-caches ou gtk-update-icon-cache, comme solution magique. C'est rapide, et ce serait bien si c'était aussi simple (pour ça qu'on a envie d'y croire), mais l'application des ces commandes ne résous rien.

Solution : si le problème est dut à l'incapacité de GNOME à retrouver une icône, le cache des icônes pourra bien être rafraichi des milliers de fois, ça ne changera rien. La seule solution est d'identifier la raison pour laquelle GNOME ne sait pas trouver l'icône, de résoudre cette question là, et pour cela de vous référer aux points précédents. J'ai vérifié que GNOME n'a même pas besoin du cache d'icônes pour les afficher; lorsque vous installez un nouveau thème d'icônes, GNOME, ne crée d'ailleurs même pas de cache pour le thème.

Remarque : vous devrez tout de même exécuter la commande

nautilus -q

, qui permet de quitter un instant Nautilus et de le re-démarrer immédiatement, ainsi que le bureau; si vous ne souhaitez pas attendre votre prochaine connexion pour voir vos icônes s'afficher.



6. Mon icône s'affiche la plupart du temps, mais elle est remplacée par une icône par défaut dans certains contextes en particulier

Si vous en êtes là, c'est que vous avez bien avancé et que les plus gros problèmes sont résolus. Ce point est une question de détails : certaines icônes, sont en fait multiple; c'est le cas surtout des icônes de répertoire, qui se déclinent en plusieurs versions, selon le contexte. Pour s'en faire une idée, il suffit d'ouvrir son propre répertoire personnel, pour constater que le dossier Documents, le dossier Images, etc, ont une icône spécifique, qui bien qu'elle ressemble à l'icône des autres dossiers, n'est pas la même icône que celle des autres dossiers.

Solution : identifiez la variantes de l'icône en question. Pour l'identifier, recherchez dans les icônes de votre thème ou thème par défaut de GNOME, l'icône ressemblant à celle qui s'affiche et que vous souhaitez changer. Créer une icône du même nom, ayant l'image que vous souhaitez, et ajoutez cette icône à votre thème personnel. Voir ce sujet pour plus de détails et un exemple concret : icônes spécifiques de certains dossiers (par exemple dans les signets).



7. Comment puis-je créer un thème d'icônes local, comme suggéré dans le point #1 ?

Solution : le plus simple est de télécharger ce petit framework minimaliste : my-icons-theme-for-freedesktop.tar.gz. Comme indiqué dans le README, décompressez l'archive dans votre $HOME/.local/share/icons, ajoutez les icônes que vous souhaitez dans le sous-répertoire scalable, et c'est tout. Dans le menu Système -> Apparence, choisissez Thème -> bouton Personnaliser, puis l'onglet Icônes, pour sélectionner « Mon Thème d'Icônes ».

Commentaires : bien qu'il soit possible de placer le thème d'icônes dans $HOME/.icons, je le déconseille, car cette possibilité n'existe que pour raisons de compatibilité avec une ancienne habitude, comme expliqué dans spécification FreeDesktop. L'utilisation de $HOME/.local/share/icons me semble plus recommandé, car la hiérarchie de $HOME/.local reprend la même logique que celle de /usr, ce qui offre plus de cohérence et de constance : une même logique pour la configuration globale et la configuration locale.

Il est tout à fait possible de créer un thème d'icônes ne contenant qu'un seul répertoire. C'est de cela que ce thème minimaliste à compléter par vous-même tire partie. Avec un répertoire unique, vous n'avez rien à gérer (seulement à ajouter vos icônes), ce qui est encore la meilleure garantie que vos icônes ne vont pas ne pas s'afficher pour des problèmes de mauvaises configurations des répertoires ou du fichier index.theme.



8. j'ai un autre problème, qui n'a pas de réponse ici, ou je n'ai pas compris l'un des points expliqués

Solution : pose donc la question ici va Wink. Accessoirement, je prendrai peut-être le temps un jour de créer une application pour résoudre et analyser ces problèmes automatiquement, ainsi que d'autres trop tatillons pour être exposés ici. Si un jour je le fais, j'en reparlerai dans ce fil.

Dernière modification par Hibou57 (Le 13/03/2011, à 07:14)


Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)

Hors ligne

#2 Le 11/03/2011, à 15:17

wido

Re : [Info] Vous n'arrivez pas à associer une icône à un type MIME ?

Bonjour,
essaye de lancer ces commandes:

echo -n "Updating GTK+ icon cache..."
  gtk-update-icon-cache -fq -t /usr/share/icons/hicolor

echo -n "Updating desktop MIME database..."
  update-desktop-database -q

  echo -n "Updating MIME database..."
  update-mime-database /usr/share/mime

ça met à jour la base de MIME et met à jour les associations MIME/icone. la commande est à lancer en root.

Dernière modification par wido (Le 11/03/2011, à 15:18)

Hors ligne

#3 Le 11/03/2011, à 15:26

Hibou57

Re : [Info] Vous n'arrivez pas à associer une icône à un type MIME ?

Justement, je repassais pour ajouter un point au premier poste, que j'avais oublié : update-icone-caches ne résous rien quand GNOME ne sait pas retrouver une icône. J'ajoute quelque chose à ce sujet en temps que nouveau point #5.

Dernière modification par Hibou57 (Le 11/03/2011, à 15:36)


Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)

Hors ligne

#4 Le 11/03/2011, à 15:33

Dell-ubuntu

Re : [Info] Vous n'arrivez pas à associer une icône à un type MIME ?

Je m'abonne à ce fil.

Par ailleurs, bien que le problème ne soit pas exactement du même type, je donne un lien vers "la solution aux dossiers qui s'affichent mal dans les signets" :

http://forum.ubuntu-fr.org/viewtopic.ph … 8#p3874138

(Si ça dérange, dites-le, je peux supprimer ce post).

Dernière modification par Dell-ubuntu (Le 11/03/2011, à 15:36)

#5 Le 11/03/2011, à 15:38

Hibou57

Re : [Info] Vous n'arrivez pas à associer une icône à un type MIME ?

Non, ne le supprime pas, c'est intéressant. J'ajoute ça comme nouveau point #6, avec le lien que tu donne.

Dernière modification par Hibou57 (Le 11/03/2011, à 15:38)


Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)

Hors ligne

#6 Le 11/03/2011, à 22:25

Hibou57

Re : [Info] Vous n'arrivez pas à associer une icône à un type MIME ?

J'ai ajouté un point #7, avec une procédure simple et fiable pour créer un thème d'icônes locale.

Plus tard, dans un autre topic, je parlerai de deux questions liées : la déclaration de nouveau types MIME (toujours localement) et la création des fichiers *.desktop (qui sont liés au type MIME, même si cet aspect des fichiers *.desktop n'est pas très connu).

Dernière modification par Hibou57 (Le 11/03/2011, à 22:26)


Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)

Hors ligne

#7 Le 13/03/2011, à 07:10

Hibou57

Re : [Info] Vous n'arrivez pas à associer une icône à un type MIME ?

Hibou57 a écrit :
wido a écrit :

Bonjour,
essaye de lancer ces commandes:

echo -n "Updating GTK+ icon cache..."
  gtk-update-icon-cache -fq -t /usr/share/icons/hicolor
[…]

[…]

Justement, je repassais pour ajouter un point au premier poste, que j'avais oublié : update-icone-caches ne résous rien quand GNOME ne sait pas retrouver une icône. J'ajoute quelque chose à ce sujet en temps que nouveau point #5.

Mais faire

nautilus -q

pour redémarrer le bureau et l'explorateur de fichier, ça c'est nécessaire (à moins de ne vouloir attendre plus tard, après s'être déconnecté puis reconnecté).

Ça aussi, je l'avais oublié, je l'ajoute.


Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)

Hors ligne

#8 Le 22/07/2012, à 15:30

Hibou57

Re : [Info] Vous n'arrivez pas à associer une icône à un type MIME ?

La méthode indiquée ici ne fonctionne plus à la perfection avec Ubuntu Precise.

Un lanceur ajouté dans ~/.local/share/applications ne permet plus de voir la commande ajoutée automatiquement dans le menu d’ouverture des fichiers dans Nautilus.

Je ne sais pas ce qui a changé depuis. Voici un exemple de fichier *.desktop, au cas où quelqu’un y décélerait une erreur ou y reléverait ce qui doit y être modifié pour qu’il s’ajoute tout seul dans le menu de Nautilus sous Precise.

[Desktop Entry]
Version=1.0
Type=Application
Name=MIDI to MP3 (low, mono)
GenericName=MIDI Renderer
NoDisplay=true
Comment=Render MIDI to MP3 as low resolution and mono (no stereo)
Icon=audio-x-generic
Exec=midi2mp3-low-mono %f
Terminal=false
MimeType=audio/midi;
Categories=Audio;

Cette entrée est censé apparaitre dans le menu contextuel des fichiers MIDI, mais n’y apparait pas, et cela même après avoir appliqué les commande suivantes, et même après un re‑démarrage.

update-menus
update-desktop-database ~/.local
nautilus -q

L’entrée n’apparait que dans la liste « Choisir une autre application », et il faut donc faire l’association manuellement. Pourtant elle doit pouvoir être faite automatiquement, puisque après l’installation de Audacious, j’ai put constater qu’une entrée était apparue toute seule dans le menu d’ouverture des fichiers audios, sans que je n’ai à faire l’association moi‑même.

Évidemment, il est toujours possible de faire l’association, l’application apparaissant bien dans la liste de toutes applications disponibles, ce n’est pas bloquant, mais cette imperfection m’ennuie pour par exemple les scripts d’installation, qui alors font les choses à moitié.

Si quelqu’un(e) sait, ça m’intéresse…


Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)

Hors ligne