Wo finde ich ein Referenzschema für das GNOME 3-Thema (z. B. Adwaita)?

8

Ich habe ein Upgrade auf Fedora 21 durchgeführt, in dem GNOME 3.14 (plus das entsprechende GTK + -Material) vorgestellt wird. Leider scheint es, dass dieses spezielle Update viele meiner älteren Themen, die für jetzt alternde Versionen von GNOME 3 geschrieben wurden, verstümmelt. Wo sie früher vielleicht vorbeigekommen sind, sehen sie jetzt etwas fehl am Platz aus.

Ich nehme nicht an, das Rad neu zu erfinden: Ich würde sehr gerne eine bereits vorhandene CSS-Vorlage (z. B. die Standardspezifikation für Adwaita 3.14) nehmen und sie hier und da nach meinen Wünschen anpassen. Es wird kein ausgefallenes Fliegen geben. Stellen Sie sich die Haare vor, die ich herausgerissen habe, als ich auf /usr/share/themes/Adwaita/gtk-3.0/gtk.css spähte:

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

Das bringt mich in eine Essiggurke. Mir fehlt das Google-Fu, um die Dokumentation darüber zu durchsuchen, wo dies sein könnte (schlimmer noch, ich habe das Gefühl, dass dies für GNOME-Leute, die ich verpasst habe, implizit offensichtlich ist), und aus irgendeinem Grund widersetzt sich die GNOME-Entwickler-Website meine Versuche, ihre Themenspezifikation zu erforschen.

Kurz gesagt, ich möchte eine neue Themenspezifikation für GNOME 3.14 finden, vorausgesetzt, eine ist vorhanden. Wie kann ich das tun oder wie kann ich meinen Ansatz ändern?

Kalvin Lee
quelle

Antworten:

13

.cssDiese bestimmte Datei enthält nur eine einzige Zeile, da das Standardthema (Adwaita) als Binärdatei vorliegt:

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.

Da der Code in enthalten ist gtk+, können Sie die Quelldateien HIER anzeigen . Wie ihre 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.

Die Referenzdateien .csssind:

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

Hier ist eine ältere Anleitung, einige Dinge gelten nicht mehr (wie gesagt, der Quellcode ist gtk+jetzt in, wie gnome-themes-standardveraltet), aber es sollte Sie auf den richtigen Weg bringen:

Wie man das GNOME Adwaita GTK-Thema hackt

don_crissti
quelle
0

Ich kopiere hier meine eigene TLDR von einer ähnlichen Frage zu den Farben der oberen Fensterleiste

~ / .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;
}

Öffnen Sie zum Debuggen und Finden passender CSS-Selektoren eine GTK3-App mit der Umgebungsvariablen GTK_DEBUG = interaktiv. Zum Beispiel,

GTK_DEBUG=interactive nautilus

Dies sollte einen Inspektor für das GTK-Fenster öffnen. Wenn es nicht vorhanden ist, drücken Sie Strg + Umschalt + I.

Screenshot des Inspektors

mcsy
quelle