mercoledì 21 dicembre 2011

Integrare le applicazioni GTK+ in KDE

Le applicazioni scritte con il toolkit GTK+ (come praticamente tutte le applicazioni dell'ambiente desktop GNOME) non sono nativamente ben integrate nell'ambiente desktop KDE (che invece si basa sul toolkit Qt).

Il toolkit GTK+ permette di impostare un tema per tutte le applicazioni che lo utilizzano, quindi per migliorare l'aspetto di queste applicazioni all'interno di KDE abbiamo bisogno di un tema che assomigli il più possibile al tema in uso su KDE. Esistono diversi temi GTK+ che ben si integrano con le applicazioni Qt, come QtCurve, però in particolare segnalo l'esistenza del tema Oxygen-gtk che è una traduzione in GTK+ del tema predefinito di KDE, cioè Oxygen. Non è scopo di questa guida spiegare come si installano in generale i temi GTK+, vedremo solo come si installa Oxygen-gtk su Debian e sistemi derivati e come fare per utilizzarlo. Sugli altri sistemi operativi (Fedora, openSUSE, Gentoo, Arch Linux, eccetera) potranno cambiare i nomi dei pacchetti da installare e il gestore pacchetti da usare, ma le operazioni da eseguire saranno grosso modo le stesse.

È possibile installare Oxygen-gtk scaricandolo da qui e seguendo le istruzioni riportate nella pagina oppure, su Debian e derivate, installando il pacchetto gtk2-engines-oxygen tramite il gestore pacchetti Synaptic o sul terminale con il comando
sudo apt-get install gtk2-engines-oxygen
Ora dobbiamo solo impostare questo tema come quello utilizzato dalle applicazioni GTK+. Esiste una procedura manuale ben descritta in questa guida (in inglese) del wiki di Arch Linux, ma esiste anche una procedura automatica basata sull'utilizzo di un'apposita interfaccia grafica. Ci sono diversi semplici programmi che permettono di selezionare il tema GTK+ fra i quali gtk-chtheme e lxappearance, ma dal momento che stiamo parlando dell'ambiente desktop KDE suggerisco di utilizzare il selettore dei temi GTK che fa parte degli strumenti di sistema di KDE. Per installarlo su Debian e derivate bisogna installare il pacchetto kde-config-gtk-style con Synaptic oppure via terminale con il comando
sudo apt-get install kde-config-gtk-style
Si può adesso selezionare il tema in Impostazioni di sistema, scegliendo Aspetto delle applicazioni e impostando nella scheda Aspetto GTK lo stile oxygen-gtk.
Manca solo un'ultima operazione prima di finire. Scegliendo lo stile con il programma Impostazioni di sistema abbiamo creato un file nascosto il cui percorso è ~/.gtkrc-2.0-kde (ricordo che la tilde ~ è un'abbreviazione del percorso della home dell'utente corrente), ma per rendere efficace questa impostazione il file deve chiamarsi ~/.gtkrc-2.0 quindi dobbiamo rinominare il file ~/.gtkrc-2.0-kde in ~/.gtkrc-2.0, oppure copiare ~/.gtkrc-2.0-kde e incollarlo con il nuovo nome ~/.gtkrc-2.0 oppure creare un link simbolico ~/.gtkrc-2.0 che punta a ~/.gtkrc-2.0-kde. Per visualizzare i file nascosti in Dolphin bisogna premere la scorciatoia da tastiera ALT + . oppure queste operazioni possono essere eseguite da terminale rispettivamente con i seguenti comandi (basta eseguirne solo uno, quello che si preferisce!):
mv ~/.gtkrc-2.0-kde ~/.gtkrc-2.0 # per rinominare il file
cp ~/.gtkrc-2.0-kde ~/.gtkrc-2.0 # per copiare il file
ln -s ~/.gtkrc-2.0-kde ~/.gtkrc-2.0 # per creare il link simbolico
Adesso tutte le applicazioni GTK che verranno aperte risulteranno finalmente ben integrate con le applicazioni Qt di KDE.

Un'ultima osservazione: l'impostazione del tema GTK viene letta solo dai programmi eseguiti dall'utente nella cui cartella home si trova il file .gtkrc-2.0, ciò permette agli utenti di uno stesso sistema di usare diversi temi. Questo vale anche per l'utente "root", pertanto se si vuole che anche le applicazioni eseguite come utente "root" utilizzino il tema scelto bisogna inserire nella home dell'utente "root" il file .gtkrc-2.0. Per fare questo possiamo copiare il file nella home di "root" oppure creare all'interno di questa un link simbolico al nostro file .gtkrc-2.0 in modo che tutte le modifiche apportate al nostro file .gtkrc-2.0 valgano automaticamente anche per l'utente "root" senza dover modificare ulteriormente suoi file. Da terminale queste due operazioni possono essere eseguite con i comandi (di nuovo, va usato solo uno di questi comandi, quello che si preferisce)
sudo cp ~/.gtkrc-2.0 ~root/.gtkrc-2.0 # per copiare il file
sudo ln -s ~/.gtkrc-2.0 ~root/.gtkrc-2.0 # per creare il link simbolico



Aggiornamento: il tema Oxygen-gtk supporta anche la versione 3 del toolkit GTK+, nei repository di Debian e Ubuntu è presente il pacchetto gtk3-engines-oxygen. Per installarlo da terminale:
sudo apt-get install gtk3-engines-oxygen
La modalità di configurazione del tema per GTK3 però è diversa rispetto a quella per GTK2. Non mi risulta che esistano strumenti per selezionare automaticamente il tema, tuttavia bisogna solo creare un file chiamato settings.ini nella cartella ~/.config/gtk-3.0 (ricordo che la tilde ~ è un'abbreviazione per il percorso della home dell'utente corrente e che i file e cartelle i cui nomi iniziano con un punto non sono normalmente visibili, premere ALT + . in Dolphin per visualizzarli), cartella da creare se non già esistente. All'interno di questo file è sufficiente scrivere
[Settings] 
gtk-theme-name=oxygen-gtk
Dopo aver salvato il file le modifiche dovrebbero avere effetto immediatamente su tutte le applicazioni grafiche basate sul toolkit GTK3. Se si vuole fare tutto da terminale si possono dare i seguenti comandi
mkdir -p ~/.config/gtk-3.0
echo -e '[Settings]\ngtk-theme-name=oxygen-gtk' > ~/.config/gtk-3.0/settings.ini~/.config/gtk-3.0/settings.ini
Il primo comando crea la cartella se non esiste già, il secondo crea il file con il contenuto sopra indicato.

Anche i temi delle applicazioni GTK3 possono essere diversi da utente a utente. Come detto anche per le applicazioni GTK, possiamo automaticamente dare all'utente root le nostre stesse impostazioni eseguendo da terminale uno dei due seguenti comandi, a scelta
sudo cp ~/.gtkrc-3.0 ~root/.gtkrc-3.0 # per copiare il file
sudo ln -s ~/.gtkrc-3.0 ~root/.gtkrc-3.0 # per creare il link simbolico

Nessun commento:

Posta un commento

I commenti inseriti vengono lasciati dall'autore degli stessi accettandone ogni eventuale responsabilità civile e penale.
Il curatore del blog si riserva la possibilità di eliminare messaggi contenenti frasi offensive o spam.