Hilfe beim Erstellen eines neuen Themas basierend auf Adwaita?

8

Ich möchte ein Thema basierend auf Adwaita erstellen.

Ich habe festgestellt, dass Adwaita keine *.cssDateien mehr verwendet :

cat /usr/share/themes/Adwaita/gtk-3.0/gtk.css
/* Adwaita is now part of GTK+ 3, this file is no longer used */

Ich habe den Adwaita-Quellcode auf GitLab gefunden:

MASTER: https://gitlab.gnome.org/GNOME/gtk/tree/master/gtk/theme/Adwaita

VERSION 3.24.10: https://gitlab.gnome.org/GNOME/gtk/tree/3.24.10/gtk/theme/Adwaita

(UPDATE: Der "Master" -Zweig in GitLab ist möglicherweise "fehlerhaft", da er sich in der Entwicklung befindet. Stattdessen sollte ein stabilerer Zweig wie 3.24.10 verwendet werden.)

Daher kann ich die Quelldateien von Gitlab herunterladen und die enthaltenen *.scssDateien mit den gewünschten Farbänderungen ändern.

Wie kompiliere ich die Quelle nach den Änderungen in ein neues Thema und stelle sie auf meinem Computer bereit?

PJ Singh
quelle

Antworten:

7

Ubuntu 18.04

Ich habe es gerade versucht, indem ich die READMEDatei über den ~/Downloads/gtk-master/gtk/theme/Adwaita/von Ihnen angegebenen Link verstanden habe. Https://gitlab.gnome.org/GNOME/gtk/tree/master/gtk/theme/Adwaita

  1. Habe die Quellcode-Zip-Datei heruntergeladen ..

Geben Sie hier die Bildbeschreibung ein

  1. bearbeitete einige Farben (nur um es zu versuchen) in der Datei ~/Downloads/gtk-master/gtk/theme/Adwaita/_colors.scss

Inhalt:

$base_color: if($variant == 'light', #00FF00, lighten(desaturate(#241f31, 100%), 2%));
$text_color: if($variant == 'light', black, white);
$bg_color: if($variant == 'light', #0000FF, darken(desaturate(#3d3846, 100%), 4%));
$fg_color: if($variant == 'light', #2e3436, #eeeeec);

$selected_fg_color: #FF0000;

Geben Sie hier die Bildbeschreibung ein

  1. Gespeichert und geschlossen

  2. sudo apt install sassc

  3. cd ~/Downloads/gtk-master/gtk/theme/Adwaita

  4. sassc -M -t compact gtk-contained.scss MyCustomized.css

  5. kopierte diese MyCustomized.css-Datei in einen neu erstellten Themenordner in /usr/share/themes/MyCustomized/gtk-3.0/und benannte sie in umgtk.css

  6. kopierte den assetsOrdner von ~/Downloads/gtk-master/gtk/theme/Adwaita/nach/usr/share/themes/MyCustomized/gtk-3.0/

  7. Dieses MyCustomized-Thema kann ausgewählt werden gnome-tweaks

und das Ergebnis ist

Geben Sie hier die Bildbeschreibung ein

PRATAP
quelle
Pratap, dies ist eine sehr klare Antwort, und sie funktioniert bis zu einem gewissen Grad ... Ich denke jedoch, dass die Vermögenswerte nicht generiert werden. Nachdem ich Ihren Anweisungen gefolgt bin, fehlen beispielsweise die Häkchen- und Optionsfeldbilder in Kontrollkästchen und Optionsfeldern. Um zu sehen, was ich meine, öffnen Sie die Screenshot-Anwendung, nachdem Sie Ihr benutzerdefiniertes Thema ausgewählt haben, und beachten Sie, dass die ausgewählten Kontrollkästchen oder ausgewählten Optionsfelder als rote Quadrate dargestellt werden. Gibt es einen weiteren Schritt, der erforderlich ist, um die entsprechenden Assets zu erstellen?
PJ Singh
Noch eine Frage: Wie wird die entsprechende /usr/share/gnome-shell/gnome-shell-theme.gresourceDatei aus den benutzerdefinierten Themendateien generiert? (Geht es einfach darum, glib-compile-resourcesauf ALLEN Dateien in dem ...gtk/theme/Adwaitavon GitLab heruntergeladenen Verzeichnis zu laufen ?)
PJ Singh
Interessanterweise hat mein Pratap /usr/share/themes/Adwaita/gtk-3.0kein assetsUnterverzeichnis. (Ich habe auch ein /usr/share/themes/DefaultVerzeichnis, das auch kein assetsUnterverzeichnis hat). Trotzdem habe ich das assetsVerzeichnis aus dem Quellcode in mein neues ...gtk-3.0Verzeichnis kopiert , wie Sie vorgeschlagen haben, und es hat funktioniert. Bitte fügen Sie dies nach Schritt 7 in Ihre Antwort ein, damit es auch anderen hilft.
PJ Singh
Mir ist aufgefallen, dass das Abrufen der Quelle aus dem "Master" -Zweig auf GitLab ein Thema mit visuellen "Macken" erzeugt hat, wie Sie beschrieben haben. Dann habe ich die Version "3.24.10" von GitLab verwendet ( gitlab.gnome.org/GNOME/gtk/tree/3.24.10/gtk/theme/Adwaita ). Diese Version entspricht eher der GTK-Version 3.24.8, die derzeit in Ubuntu 19.04 installiert ist und keine visuellen "Macken" aufweist. Ich denke, der "Master" -Zweig ist "Perlenkante" und wird wahrscheinlich fehlerhaft sein.
PJ Singh