Où puis-je trouver un schéma de référence pour la thématique GNOME 3 (par exemple Adwaita)?

8

Je suis passé à Fedora 21, qui met en vedette GNOME 3.14 (plus le matériel GTK + pertinent). Malheureusement, il semble que cette mise à jour particulière perturbe beaucoup de mes thèmes plus anciens, écrits pour les versions vieillissantes de GNOME 3. Là où auparavant ils peuvent avoir grincé, ils ont maintenant l'air un peu hors de propos.

Je ne prétends pas réinventer la roue: je serais très heureux de prendre un modèle CSS préexistant (par exemple la spécification Adwaita 3.14 par défaut) et de le modifier ici et là à mon goût; il n'y aura pas de vol fantaisie. Imaginez les cheveux que j'ai arrachés quand j'ai jeté un œil à /usr/share/themes/Adwaita/gtk-3.0/gtk.css:

/* Adwaita is the default theme of GTK+ 3, this file is not used */

Cela me met dans un cornichon. Je manque de Google-fu pour creuser la documentation sur où cela pourrait être (pire, j'ai le culot de penser que c'est quelque chose implicitement évident pour les gens de GNOME que j'ai raté), et pour une raison quelconque, le site Web du développeur GNOME résiste mes tentatives de recherche de leur spécification de thème.

En bref, j'aimerais trouver une spécification de thème vierge pour GNOME 3.14, en supposant qu'il en existe une. Comment puis-je procéder ou comment modifier mon approche?

Kalvin Lee
la source

Réponses:

13

Il n'y a qu'une seule ligne dans ce .cssfichier particulier car le thème par défaut (Adwaita) se présente sous la forme d'un binaire:

Adwaita is a complex theme, so to keep it maintainable it's written and processed in SASS, the generated CSS is
then transformed into a gresource file during gtk build and used at runtime in a non-legible or editable form.

Puisque le code a été inclus dans gtk+, vous pouvez afficher les fichiers source ICI . Selon leur readme:

_colors.scss        - global color definitions. We keep the number of defined colors to a necessary minimum, most colors 
                      are derived form a handful of basics. It covers both the light variant and the dark variant.
_colors-public.scss - SCSS colors exported through gtk to allow for 3rd party apps color mixing.
_drawing.scss       - drawing helper mixings/functions to allow easier definition of widget drawing under specific context.
                      This is why Adwaita isn't 15000 LOC.
_common.scss        - actual definitions of style for each widget. This is where you are likely to add/remove your changes.

Les .cssfichiers de référence sont:

gtk-contained.css
gtk-contained-dark.css

Voici un ancien mode d'emploi, certaines choses ne s'appliquent plus (comme je l'ai dit, le code source est gtk+maintenant, comme il gnome-themes-standardétait obsolète), mais il devrait vous mettre sur la bonne voie:

Comment pirater le thème GNOME Adwaita GTK

don_crissti
la source
0

Je copie mon propre TLDR ici à partir d'une question similaire sur les couleurs de la barre supérieure de la fenêtre

~ / .config / gtk-3.0 / gtk.css

/* REMOVE "-dark" IF USING LIGHT THEME */
@import url("resource:///org/gtk/libgtk/theme/Adwaita/gtk-contained-dark.css");

/* THIS ONE CHANGES TITLEBAR COLOR */
headerbar.titlebar,
headerbar.titlebar:active {
    background:#3F51B5;
}

/* THIS CHANGES NAUTILUS SEARCH BAR */
.horizontal.path-bar-box,
row:selected:backdrop {
     background:#3F51B5;
     border-color:#3F51B5;
}

Pour déboguer et trouver les sélecteurs CSS appropriés, ouvrez une application GTK3 avec la variable d'environnement GTK_DEBUG = interactive. Par exemple,

GTK_DEBUG=interactive nautilus

Cela devrait ouvrir un inspecteur pour la fenêtre GTK. Si ce n'est pas le cas, appuyez sur Ctrl + Maj + I.

capture d'écran de l'inspecteur

mcsy
la source