GNU/Linux >> Linux Esercitazione >  >> Linux

Come modificare i temi in Gnome 40+ - Tutorial

Non puoi modificare i temi di Gnome, non più, qualcuno mi ha scritto in un'e-mail. E io ho risposto, cosa cosa. La persona ha sottolineato che le istruzioni che ho esposto nella mia guida alla modifica del tema di Gnome non funzionavano più. In particolare, il file gtk.css, che dovrebbe contenere le clausole necessarie per apportare modifiche al tema, come ad esempio il colore del carattere, semplicemente non c'era più.

Ho deciso di approfondire questo aspetto. Ho acceso CentOS 9 Stream, che viene fornito con una versione moderna dell'ambiente desktop Gnome, e ho guardato cosa offre nella cartella del tema Adwaita. In effetti, il vecchio metodo di personalizzazione sembra non essere più applicabile. Ecco perché abbiamo bisogno di questo tutorial. Cominciamo, dobbiamo.

Problema in dettaglio

Comunque. Vai su /usr/share/themes/Adwaita e guarda cosa c'è sotto questo albero di directory. Nella sottocartella gtk-3.0 c'è un file gtk.css, ma è vuoto. È uno stub che recita quanto segue:

/* Adwaita ora fa parte di GTK+ 3, questo file non è più utilizzato */

Quindi, abbiamo bisogno di qualcos'altro.

Il nuovo modo di modificare i temi di Gnome

Va bene. Il metodo richiesto per modificare i temi di Gnome 40+ è piuttosto complesso e contorto, ma il fatto che tu debba modificare manualmente i file CSS è già un grosso problema. Poi di nuovo, l'unico desktop nello spazio Linux che ti consente di fare le cose in modo GUI, senza alcun hacker, è Plasma. Tuttavia, non voglio diventare filosofico o fanboy qui. Lo scopo di questo tutorial è mostrarti come modificare i temi di Gnome, per qualsiasi motivo. Come dire il colore del carattere, sebbene Adwaita abbia impostazioni predefinite decenti (a differenza della maggior parte dei temi Linux in generale).

1. Clona il repository gtk da GitLab

Questa è la prima cosa:

git clone https://gitlab.gnome.org/GNOME/gtk.git

2. Passa al ramo "più vecchio" di questo albero

Ne abbiamo bisogno per poter modificare i temi GTK 3.X:il ramo corrente è per GTK 4.0 e lì la gestione dei temi è diversa. Ora, questo significa che in futuro dovremo affrontare l'ennesimo ostacolo tecnico, ma questa è una storia completamente diversa - infatti, potrebbero già esserci programmi che non utilizzeranno nessuno dei tuoi temi personalizzati e altri problemi di questo natura. Ma procediamo lentamente.

git checkout gtk-3-24
Il ramo 'gtk-3-24' impostato per tracciare il ramo remoto 'gtk-3-24' da 'origine'.
Passato a un nuovo ramo 'gtk-3-24'

Qui ora vedrai un elenco di file, inclusi i file CSS "di origine" da cui sono stati creati i temi.

3. Modifica il file dei colori

Apri _colors.scss in un editor di testo. Quello che vedrai è la sintassi del tema familiare che abbiamo visto in passato e ora dobbiamo apportare modifiche, ad esempio il colore del carattere.

// Quando la definizione del colore differisce per la variante chiara e scura
// ottiene @if ed in base a $variant

$base_color:if($variant =='light', #ffffff, schiarire(desaturare(#241f31, 100%), 2%));
$text_color:if($variant =='luce', nero, bianco);
$bg_color:if($variant =='light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
$fg_color:if($variant =='luce', #2e3436, #eeeeec);

$selected_fg_color:#ffffff;
$selected_bg_color:if($variant =='light', #3584e4, darken(#3584e4, 20%));
$selected_borders_color:if($variant=='light', darken($selected_bg_color, 15%), darken($selected_bg_color, 30%));
...

Ciò che devi cambiare dipende interamente dalle tue esigenze. Ma diciamo testo. Guarda la seconda riga non commentata nel file. Al momento si legge:

$text_color:if($variant =='luce', nero, bianco);

Lo cambieremo in:

$text_color:if($variant =='luce', rosso, bianco);

La struttura della riga è sotto forma di clausola IF THEN, il che significa che se il tema è leggero, verrà utilizzato il primo argomento dopo la virgola e, in caso contrario, il secondo. In altre parole, se si tratta di un tema chiaro, la dichiarazione del colore del testo verrà impostata su nero. Per il tema scuro di Adwaita, sarà bianco. Cambieremo il colore del carattere nero in rosso.

4. Analizza il file

Il passaggio successivo consiste nel "costruire" il file gtk.css del tema finale. Questo viene fatto usando lo script parse-sass.sh. È un po' come creare il menu di GRUB da una varietà di "file sorgente" invece di modificare direttamente il menu. Questo è un modo moderno di fare le cose e, sebbene sia più modulare, è anche più fastidioso.

Esegui lo script. Potresti visualizzare un errore:

./parse-sass.sh
sassc deve essere installato per generare il CSS.

Ciò significa che è necessario installare il programma sassc (utilità) dai repository. La procedura esatta per eseguire questa operazione varia da distro a distro, ovvero il sistema effettivo su cui stai lavorando. In CentOS 9 Stream, questo era molto complicato poiché sassc non è disponibile nei repository standard e dovevo abilitare EPEL per installare lo strumento. Ora, in alternativa, avrei potuto farlo su una scatola Fedora o su una scatola Ubuntu. Comunque.

Dopo un po' di repo, l'utilità è lì e la eseguiamo:

/parse-sass.sh
Generazione del CSS in corso...

Lo script creerà due file, gtk-contained.css e gtk-contained-dark.css, da utilizzare rispettivamente con i temi chiari e scuri.

-rw-rw-r--. 1 roger roger 4338 8 marzo 15:49 _colors.scss
drwxrwxr-x. 3 roger roger 4096 8 marzo 15:49 .
-rw-rw-r--. 1 roger roger 171713 8 marzo 15:53 ​​gtk-contained.css
-rw-rw-r--. 1 roger roger 171416 8 marzo 15:53 ​​gtk-contained-dark.css

5. Copia il file CSS creato sul tuo tema

Ora, dobbiamo effettivamente prendere i file CSS che abbiamo generato (e alcuni altri file) e usarli nel nostro tema personalizzato. Copieremo il tema Adwaita predefinito nella home directory, quindi copieremo il CSS. Mi sono anche preso la libertà di modificare il nome del tema copiato (nel file index.theme) in modo che sia più facile distinguerlo da Adwaita stock. Ho chiamato il mio Adwaita-2.

cp -r /usr/share/themes/Adwaita ~/.themes/Adwaita-2
gedit ~/.themes/Adwaita-2/index.theme

Dai un nome qualunque al tema.

cp -r [posizione del repository git clonato locale]/gtk/gtk/theme/Adwaita/assets ~/.themes/Adwaita-2/gtk-3.0/
cp -r [posizione del repository git clonato locale]/gtk/ gtk/theme/Adwaita/gtk-contained.css ~/.themes/Adwaita-2/gtk-3.0/gtk.css

In sostanza, stiamo sovrascrivendo il file stub vuoto.

6. Attiva il nuovo tema

Ora avvia Gnome Tweaks e attiva il tuo nuovo tema:

Ed ecco qua! Lavoro fatto. Ci sono voluti solo 16 minuti e 6 semplici passaggi. Giusto? Esatto.

Conclusione

L'hacking dei temi sulla riga di comando risale al 1998, ma purtroppo gran parte dell'esperienza desktop Linux rimane il 1998. Non è una buona cosa, soprattutto se le persone cercano di lasciarsi alle spalle il mondo di Windows, azienda presente inclusa. Ma poi, siamo riusciti a completare i nostri compiti, quindi non è affatto male.

Se devi apportare modifiche al tema in Gnome 40+, dovrai clonare il repository originale, passare al vecchio ramo, apportare modifiche alle dichiarazioni dei colori, creare i file CSS e quindi copiarli nel tuo tema. Non banale, ma fattibile. E totalmente evitabile se le distribuzioni si impegnano a spedire i loro prodotti con caratteri belli, chiari, nitidi e nitidi. Fino ad allora, si spera, troverete utile questo articolo. Infine, tutto questo potrebbe presto cambiare ancora una volta, perché GTK-4.0 e libadwaita portano i loro problemi con i temi. Ci vediamo in giro.


Linux
  1. Come GNOME usa Git

  2. Come registrare screencast in GNOME 3

  3. Come installare temi in Ubuntu 17.10 e versioni successive

  4. Come riprendere una sessione di Gnome?

  5. Come faccio a modificare resolv.conf?

Trucchi Gnome desktop e ridimensionamento HD

Gnome 40 - Il desktop anti-desktop

Come installare le estensioni di Gnome in CentOS 8

Come installare Mono o dotNET45 su Linux - Tutorial

Come disinstallare le applicazioni WINE

Come mostrare il desktop in GNOME