web-dev-qa-db-fra.com

Comment actualiser le cache d'icônes?

Tout d’abord, je ne suis pas sûr à 100% que la question principale que j’ai posée ici soit en réalité le problème, mais j’ai l’intérêt de le savoir. Il y a quelque temps, j'ai écrit une simple application Gtk # dans Mono et lui ai donné un ICO personnalisé sous forme de fichier icône. A bien fonctionné.

Récemment, je suis allé remplacer cette icône par une autre, mais lorsque je construis et exécute le programme, il affiche toujours l'icône. Je me suis assuré d’avoir mis à jour chaque référence au fichier d’icône avec le nouveau fichier et d’avoir complètement supprimé l’ancienne icône du disque dur. Mais il apparaît toujours dans le lanceur lorsque je lance le programme.

Je suppose que cela signifie que Gtk met les icônes en cache quelque part dans Ubuntu et j'ai probablement besoin de le forcer à se rafraîchir. Aucun conseil?

16
soapergem

lancez ce qui suit dans un terminal:

Sudo update-icon-caches /usr/share/icons/*
19
Timo Kluck

Tu dois:

  • Mettre à jour l'horodatage sur le répertoire d'icônes de niveau supérieur
  • Exécutez gtk-update-icon-cache

Remarque: hicolor est le thème par défaut que les développeurs d'applications doivent utiliser. Si vous créez un thème d'icônes, actualisez le dossier de votre thème d'icônes.

Sudo touch /usr/share/icons/hicolor ~/.local/share/icons/hicolor
Sudo gtk-update-icon-cache

Voir (la seule documentation que je puisse trouver pour cela): https://fedoraproject.org/wiki/Packaging:Scriptlets#Icon_Cache

4
Brendan Long

Au niveau de la commande de terminal, tapez:

$ unity

Cela mettra à jour vos icônes * .desktop dans le lanceur.

Si le problème ne vient pas d'Ubuntu Launcher mais que l'application elle-même examine http://stackoverflow.com les résolutions de programmation.

Un problème similaire à ceci est résolu à https://stackoverflow.com/questions/5315359/custom-libindicator-icon-is-not-displayed/6503807#6503807

Regardez également à: https://developer.gnome.org/gtk3/stable/gtk-update-icon-cache.html

2
L. D. James