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
:
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
.
Ajoutez l'icône, puis mettez à jour le cache d'icons:
gtk-update-icon-cache /path/to/icon_theme_directory
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).
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
:
Si une icône dédiée text-x-vala
est ajoutée ultérieurement, le système l'utilisera, par exemple:
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]