Je crée une application qui utilise des icônes symboliques du thème par défaut.
Cependant, il y a quelques icônes dont j'ai besoin qui ne peuvent pas être représentées par celles du thème par défaut, donc je crée mes propres icônes.
Ce que j'ai fait, c'était simplement d'aller /usr/share/icons/gnome/scalable/actions/
, d'en copier quelques-uns localement dans l'arborescence source de mon application qui pourrait servir de base, et de commencer à les éditer.
Jusqu'ici tout va bien. Mais j'ai remarqué ce qui suit: toutes les icônes symboliques sont de couleur gris clair en regardant le fichier .svg d'origine, mais lorsqu'elles sont placées dans un widget, elles deviennent plus sombres.
Voici un exemple, en utilisant l' /usr/share/icons/gnome/scalable/actions/view-refresh-symbolic.svg
icône du thème par défaut:
- Voici à quoi cela ressemble lors de l'ouverture de l'original avec Inkscape:
- Et voici à quoi cela ressemble sur une barre d'outils sur une application en cours d'exécution:
Notez que l'icône est beaucoup plus sombre lors de l'exécution. Cela se produit à la fois avec les thèmes Ambiance et Radiance.
Cela ne me dérangerait pas beaucoup, mais j'ai remarqué que cela affecte mon icône personnalisée, où certaines parties deviennent plus sombres (le remplissage intérieur), tandis que certaines parties restent de la même couleur que l'original (le trait).
Alors, qu'est-ce qui provoque l'assombrissement des icônes symboliques par défaut et comment l'implémenter pour mes icônes personnalisées?
la source
Réponses:
#bebebeff
). Ils peuvent ensuite être colorés en fonction de lafg_color
valeur définie par le thème danssettings.ini
(GTK3) ougtkrc
(GTK2); ou sur lefg_color
défini dans le CSS (GTK3).fg_color
) est définie sur gris foncé (#4c4c4c
) dans/usr/share/themes/Ambiance/gtk-3.0/settings.ini
, c'est pourquoi les icônes symboliques apparaissent plus sombres.Pour que les icônes symboliques personnalisées se ressemblent, vous devez supprimer le trait et utiliser uniquement le remplissage avec la valeur RGBA définie sur
#bebebeff
; sinon, le trait apparaîtra toujours comme défini (c.-à-d. gris ou quelle que soit la couleur).Cela nous donne une icône symbolique "MyRefresh" agréable et uniforme:
la source
#bebebeff
?fg_color
(il utilise libRSVG ); le moteur fait évidemment la différence entre les remplissages et les traits, et semble être codé pour s'appliquerfg_color
uniquement au remplissage tout en laissant le trait tel quel. Il peut le faire parce que SVG est un format vectorisé (paramétré), tandis que pour les icônes bitmap habituelles, ce ne sont que des pixels :)Les icônes symboliques sont généralement définies par le thème à l'aide de la propriété "couleur", c'est leur grand avantage, elles ont fière allure sur n'importe quel arrière-plan. Vous pouvez cependant les charger avec votre propre couleur.
Exemple de code vala:
la source