jump to navigation

Attenzione:
Questa guida non viene più aggiornata!

Integrare le applicazioni GTK+ e GNOME in KDE

KDE senza GNOME Settings Daemon - Pollycoke :)" rel="lightbox[pics413]" href="/wp-content/uploads/2008/01/kde-senza-gnome-settings-daemon.jpg">kde-senza-gnome-settings-daemon.jpg

Notate qualcosa di purtroppo familiare nella schermata qui sopra? Le applicazioni GNOME e GTK+ avviate all’interno di KDE hanno un aspetto orendo e si presentano senza alcun tema. Ecco come rimediare!

[toc]

KDE con GNOME Settings Daemon - Pollycoke :)" rel="lightbox[pics413]" href="/wp-content/uploads/2008/01/kde4-con-gnome-settings-daemon.jpg">kde4-con-gnome-settings-daemon.jpg
La stessa schermata d’apertura, ma “dopo la cura”

Adesso notate la differenza? Nella prima le applicazioni GTK+ hanno un aspetto un po’ “anni 90?, nella seconda sono tornate allo splendido aspetto che ha ogni applicazione GTK+2 recente con un tema decente.

Il problema è che al di fuori di un ambiente basato sulle GTK+ e che imposti le giuste variabili, come ad esempio GNOME o XFCE, tali applicazioni non sanno quale aspetto grafico (tema, icone) utilizzare, e così usano quello predefinito, orendo appunto.

1. Metodo veloce ma pesante: GNOME Settings Daemon

Una soluzione (che fa parte di un altro problema)

NB: saltate direttamente al punto 2, lascio questa soluzione solo per documentarla, ma ne sconsiglio l’uso

Se non avete problemi di risorse (Ram soprattutto) e avete installato GNOME, sappiate che esiste un modo rapido per dare un aspetto umano alle applicazioni GNOME e GTK+. Non ci crederete ma per risolvere basta dare un semplice comando:

$: gnome-settings-daemon &

Visto? Se avete alcune applicazioni GTK+ aperte in una sessione KDE e date questo comando le vedrete proprio trasformarsi davanti ai vostri occhi :)

Ok grandioso! Ma adesso devo scriverlo ogni volta?

No :) Ci sono vari modi per automatizzare l’avvio di GNOME Settings Daemon ad ogni sessione KDE4. Quello che preferisco mostrarvi consiste nel posizionare in “$KDEHOME/share/autostart” un file .desktop contenente le informazioni per lanciare l’applicazione che ci interessa, in questo caso GNOME Settings Daemon, ma in questo modo potremmo lanciare qualsiasi applicazione.

Create il file .desktop con KWrite o con (un per l’ultima volta orendo) Gedit:

$: cd ~
$: kwrite gnome-settings-daemon-pollycoke.desktop

Incollateci queste righe:

[Desktop Entry]
Exec=gnome-settings-daemon &
Name=GNOME Settings Daemon
Type=Service
X-KDE-StartupNotify=false
OnlyShowIn=KDE;
X-KDE-autostart-phase=2

Salvatelo. Adesso resta solo da posizionarlo nella directory in cui KDE potrà trovarlo. Per estrema compatibilità con i diversi tipi di installazione di KDE vi indico solo la directory per una configurazione a livello utente:

$: mkdir -p ~/.kde/share/autostart
$: mv gnome-settings-daemon-pollycoke.desktop ~/.kde/share/autostart/

Fatto questo, per verificare che tutto funzioni bisogna chiudere la corrente sessione KDE e poi effettuare nuovamente il login. Opzionalmente sorridere :)

2. Metodo veloce e consigliato: QtCurve per GTK+

Il primo metodo ha due problemi. Uno è che non va benissimo in tutti i casi, ad esempio non è proponibile a chi non ha GNOME installato, l’altro è che spreca molte risorse a vanvera. GNOME Settings Daemon compie un po’ troppe azioni, me ne sono reso conto facendo degli esperimenti con Compiz e KDE: per un attimo ho visto lo sfondo del desktop di GNOME sotto quello di KDE! Lì ho capito che doveva andare via :D

Beh, c’è una soluzione più semplice: esattamente come per “Integrare le applicazioni Qt e KDE in GNOME“, esiste un engine/tema QtCurve anche per la necessità opposta. Per installarlo basta un:

$: sudo apt-get install gtk2-engines-qtcurve

È poi sufficiente selezionarlo per le applicazioni GTK+ dall’interno di System Settings/Aspetto. Ciò farà sì che le applicazioni GTK+ utilizzino QtCurve solo se lanciate in una sessione KDE 4, per tornare poi al tema di GNOME quando vengono lanciate all’interno di GNOME.

KDE QtCurve kdeconfig - Pollycoke :)


Se volete, potete anche utilizzare QtCurve per KDE, che ha inoltre un configuratore potentissimo che vi permette di scegliere tra numerori classici stili GTK+ e anche di crearne di nuovi. Qui sopra potete vedere come appare.

3. Metodo articolato ma interessante: gtkrc-2.0

C’è una soluzione più articolata e forse per questo più interessante, che consiste nel creare un file di configurazione per le gtk e posizionarlo in un posto accessibile solo a KDE per non intralciare in nessun modo GNOME. Il file di configurazione si chiama gtkrc-2.0, ed è simile a quello che normalmente GNOME (e ogni app GTK+) cerca nella home utente per impostare alcune variabili, tra cui principalmente il tema grafico e i caratteri da utilizzare.

In KDE è possibile definire un file del genere, posizionarlo in $KDEHOME/share/config e aspettarsi che le applicazioni GTK+ lo leggano, ma solo quando sono lanciate all’interno di una sessione KDE e quindi senza intralciarne o modificarne il normale comportamento.

Questo avviene perché KDE imposta variabili ad hoc tipo: “GTK2_RC_FILES” e “GTK_RC_FILES”. Adesso che sapete tutta la filosofia ecco come appare il mio ~/.kde/share/config/gtkrc-2.0:

include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
include "/home/felipe/.themes/Clearlooks/gtk-2.0/gtkrc"
style "user-font"
{ font_name="Liberation Sans 9  " }
widget_class "*" style "user-font"
gtk-theme-name="Clearlooks"
gtk-font-name="Liberation Sans 9  "

Ossia: tema Clearlooks e caratteri Liberation Sans 9. Tutto il resto, e cioè principalmente lo schema di colori, sarà preso dalle impostazioni di KDE.

Qualsiasi sia il metodo scelto, buona caccia all’integrazione!