différentes icons pour le code source générique et d'autres files

J'essaye de faire un thème d'icône mimetype pour gnome. J'ai créé text-x-generic.svg pour tous les types de files non-pensés. Mais ce que je cherche, ce sont des icons différentes pour le code source sans prétention (disons, R, vala, awk etc) et un file text générique.

Est-ce possible?

NB J'ai essayé text-x-generic.svg et text-generic.svg pour différencier le code source et le text brut, mais ce n'est pas ce que linux (gnome) comprend.

réponse pour le commentaire de don_crissti Dis, j'ai des icons pour ruby , et js , mais pas pour C et R Ainsi, file.c et file.r doivent afficher les icons de l'icône text-x-generic-unthemed-sourcecode . Et file.dat et filename_without_extensions devraient afficher des icons différentes ( text-generic-plaintext ).

Fichier-sage, ils sont différents, comme

 $ file ic ic: C source, ASCII text $ file dos.dat dos.dat: ASCII text 

Donc, il devrait y avoir un moyen.

Les icons utilisées par gnome sont basées sur le type mime, donc votre file.c ne sera pas détecté comme text-x-generic-unthemed mais comme text-x-csrc et puisque vous n'avez pas d'icône associée, il returnnera à text-x-generic .
Ex: les icons utilisées pour .vala sont: text-x-vala, text-x-generic mais comme il n'y a pas d'icône text-x-vala dans mon jeu d'icons, le système revient à text-x-generic :

entrer la description de l'image ici

Voir le post ici sur la façon de déterminer les icons associées pour un type MIME spécifique.


Pour utiliser une autre icône de text-x-unthemed (par exemple text-x-unthemed ), il faut personnaliser les définitions des types de mime qui devraient revenir à cette icône et append l'icône correspondante ( text-x-unthemed ) à l'icône set sous mimetypes .

  1. Ajoutez l'icône, puis mettez à jour le cache d'icons:

     gtk-update-icon-cache /path/to/icon_theme_directory 
  2. Ajoutez des définitions personnalisées pour les types text-x-unthemed qui doivent utiliser text-x-unthemed comme text-x-unthemed générique (repli) s'ils n'ont pas d'icons correspondantes.
    Créez unthemed.xml file unthemed.xml sous ~/.local/share/mime/packages par exemple:

     <?xml version="1.0"?> <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'> <mime-type type="text/x-vala"> <comment>Vala source code</comment> <glob pattern="*.vala" case-sensitive="true"/> <generic-icon name="text-x-unthemed"/> </mime-type> </mime-info> 

    Ajoutez d'autres types de mime à la list si nécessaire (utilisez le bloc vala <mime-type> comme model).

  3. Reconstruisez le cache mime avec:

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

Le système devrait ensuite retomber dans l'icône text-x-unthemed pour les files .vala :

entrer la description de l'image ici

Si une icône dédiée text-x-vala est ajoutée ultérieurement, le système l'utilisera, par exemple:

entrer la description de l'image ici


N'oubliez pas de mettre à jour l'icône et le cache mime chaque fois que vous ajoutez / supprimez des icons ou des définitions de type MIME.

Merci à @don_crissti pour les détails de son fonctionnement. Je suis allé une autre façon de résoudre le problème en partie. J'ai mis différentes icons pour text-plain et text-x-generic et text-x-script . Le text-plain incorpore tous les files sans extensions et comme .dat, .txt etc; où text-x-[generic,script] est le repli pour les autres et les scripts.

Je suis d'accord que c'est une solution ad hoc, mais cela résout le problème actuel. (La meilleure solution consiste à faire des icons pour chaque file dans /usr/share/mime/* )

Une capture d'écran est ajoutée pour montrer à quoi elle ressemble avec uniquement text-x-[python,xml,scripts,generic,plain]

Une capture d'écran est ajoutée