Sistemare l’aspetto di UNetbootin

Se lo avete provato ad usare sotto Ubuntu 12.04 ve ne sarete certamente accorti, UNetbootin risente di un piccolo bug riguardante le applicazioni Qt4 eseguite con i privilegi di amministratore: ha un look in stile Windows 95.

UNetbootin prima del “trattamento”

Il programma funziona perfettamente ma è brutto. Per correggere questo obbrobrio, è sufficiente impostare il tema di Qt4 relativo all’utente root (amministratore). Per farlo, occorre innanzitutto installare il centro di configurazione adatto e poi avviarlo come amministratore:


sudo apt-get install qt4-qtconfig
gksu qtconfig-qt4

State attenti: il nome del comando nella seconda riga è diverso dal nome del pacchetto, non è un errore. A questo punto, troverete il menu a tendina alla voce Select GUI Style dal quale dovrete scegliere GTK+. Fate clic su File > Save e chiudete il programma di configurazione. A questo punto vi basterà riaprire UNetbootin per avere un aspetto consistente. 😉

UNetbootin dopo il “trattamento”

Icone leggibili in qualsiasi condizione sul desktop di Gnome

Quello che vi voglio segnalare è un consiglio che “gira” già da un po’, io però l’ho scoperto solo adesso e credo sia molto utile. Avete mai provato a impostare uno sfondo del desktop con colori chiari, oppure disegni complicati su Ubuntu o in generale qualsiasi sistema che usa Gnome? Di solito succede qualcosa del genere:

Be’ forse ci si può anche fare l’abitudine, ma generalmente leggere queste scritte è estremamente fastidioso. Mettendo il carattere in grassetto si migliora già un po’, però io vi voglio consigliare un’altra modifica al tema che vi permetterà (assieme al grassetto) di arrivare a questo:

Un po’ meglio, che dite? Ho scoperto questo trucco leggendo del bug #643836 nella mailing list dedicata ai PaperCuts di Ubuntu. Si tratta semplicemente di creare un file dentro la home directory chiamato .gtkrc-2.0 (attenzione al punto davanti, che lo rende nascosto):


style "desktop-icon"
{
 NautilusIconContainer::frame_text = 1
 NautilusIconContainer::normal_alpha = 128
}
class "GtkWidget" style "desktop-icon"

A questo punto bisogna uscire dalla sessione e rientrare. Fatto! 🙂

UniformUI is the definitive way to integrate Qt and KDE apps in the GNOME desktop

I’ve been working on this script for a while, and now with the second version I think I’m pretty close to perfection. 😛 I’ve always wanted to find a software which could let me have a nice integration between different kind of applications on Ubuntu. My favorite distribution is based on GNOME, which uses GTK+ libraries to render GUI components.

It was already possible for KDE users to render GTK+ controls as native Qt ones. But not vice-versa. You could obviously already find and configure similar styles for Qt and KDE imitating your Clearlooks, Human, or whatever theme. This is a very boring process. You have to install various configuration tools (two for qt and two for KDE) and then set every single color by hand, and also the fonts of course.

My first version of this script (italian article here) was able to configure automatically every settings file (Qt 3, Qt 4, KDE 3, KDE 4) perfectly under Ubuntu 8.10. Now thanks to QGtkStyle too, it’s possible to get an even more integrated environment. You can get a native rendering of qt4 and KDE 4 controls as they were GTK+. That’s great. There is still the problem that you need to adjust Qt 3 and KDE 3 look.

UniformUI version 2 does the trick. 😀 First of all it scans your GNOME settings searching for the colors you’re using, the fonts, and the cursor theme. Then it starts building configuration files. The first is the qt3 one. If you don’t have QtCurve for KDE 3 installed on your system, the script will download it for you and manually unpack it from an Ubuntu package (it should work on every distribution by the way). After that, the KDE 3 configuration file is created.

Finally, it assures that Qt 4 and KDE 4 apps use the native GTK+ style. The only action you have to perform is starting the script in a terminal and typing your password when prompted. This is the default system mode. If you want to run in user mode, then you just have to start the script with the -u switch. In this mode every part of the configuration (even those useful and suitable for everyone) is written in you user directory. The only action performed as root is the installation of QtCurve.

Here’s a brief overview of two apps (one using GTK+ and one using Qt 3) after setting a theme in GNOME and executing UniformUI:

Pretty good, uh?
Pretty good, uh?
Here's another one, with different fonts
Here’s another one, with different fonts

Download it here.

Warning: at this moment the script runs only and exclusively on Ubuntu 9.04 Jaunty Jackalope. Do not try to run it on other versions of Ubuntu.

The script should work with almost every GNOME theme, cursor theme, and font selection. I’ve tested it on Ubuntu 9.04 but it should work in every distribution (just be sure you’ve installed QGtkStyle). If you are encountering problems related to finding the colors, check if your theme supports them, and then try to change a little one of the colors and then bring it back to what it was (manually, don’t use the restore to defaults function). Finally run the script again, it should be fine.

Remember you need to run this script every time you change theme in GNOME. But it’s not such a difficult task.

If you have any suggestions, questions, messages, or anything else… just leave a comment here. I would be delighted if you could tell me whether it is good and suitable to your tastes or not after you’ve given it a try. Thanks.

Update: thanks to Nickholas for correcting my English grammar.

UniformUI versione 2, ottimizzato per Ubuntu 9.04

Ho finalmente trovato il tempo di aggiornare il mio script (viva le vacanze) e perciò sono molto orgoglioso di presentarvi la nuova versione. Per chi non sapesse cos’è UniformUI, ricordo che è uno script che permette di integrare in modo del tutto automatico l’aspetto dei programmi Qt 3, Qt 4, KDE 3 e KDE 4 all’interno di un desktop GNOME (in particolare Ubuntu, ma con pochi accorgimenti funziona su qualsiasi distro). Leggete qui la presentazione.

Provate questa versione solo ed esclusivamente su Ubuntu 9.04.

Questa revisione include le seguenti nuove caratteristiche:

  • versione funzionante ed ottimizzata per Ubuntu 9.04
  • richiede la presenza del motore di temi QGtkStyle
  • fornisce un aspetto assolutamente nativo per le applicazioni Qt 4 e KDE 4
  • aggiunto il supporto per i font: ora le applicazioni hanno gli stessi caratteri dei programmi GNOME
  • due modalità di funzionamento: user mode e system mode

Per quanto riguarda le due modalità, quella predefinita è la system mode. Ciò significa che cambierà lo stile in modo che per tutti gli utenti sia almeno sufficientemente integrato. Questo non vale per i colori naturalmente, perché ogni utente può usare un tema con colori diversi perciò sarebbe inutile. La scelta migliore è che ogni utente esegua lo script in system mode ogni volta che cambia tema.

Per agire in user mode bisogna passare l’opzione -u allo script. Ciò ha come inconveniente, tra l’altro, che lo stile dei widget delle applicazioni KDE 3 non viene cambiato, ma è comunque una cosa di poco conto (però irrisolvibile).

Potete scaricare lo script da qui. Provatelo e fatemi sapere che cosa ne pensate. 😉

Aggiornamento 14/06/2009: corretto un bug per cui in caso di font con stili (tipo grassetto e corsivo), i caratteri rimanevano uguali. Ora gli stili vengono ignorati e il font viene impostato correttamente.

L’interfaccia uniforme tra le librerie grafiche, ovvero UniformUI per GNOME

Personalmente devo dire che specie in passato, ero uno a cui piaceva cambiare spesso il tema di GNOME. C’è stato il periodo in cui impazzivo per Murrine, poi ho apprezzato Clearlooks, ora sul portatile uso Darkroom con i colori modificati.

Nonostante questo però, ancora prima di cambiare tema, mi accorgevo sempre di una cosa abbastanza spiacevole. :\

Usando GNOME è impossibile non accorgersi di quanto le applicazioni basate su altri toolkit grafici siano… potrei dire orrende. Prendiamo per esempio i programmi per KDE 3… Hanno il classico tema Plastik, che non è brutto, però stona. Ed ha anche lo schema di colori blu standard, che con il tema di Ubuntu (nel mio caso) non ha nulla a che vedere.

Lo stesso vale anche per i programmi KDE 4, che hanno un bel tema, ma troppo diverso dallo stile GNOME. La situazione cambia totalmente se si tratta di Qt 3. Ci troviamo di fronte a un look del secolo scorso. L’interfaccia di base è spartanissima e ti fa odiare il lavorare con Qcad o simili. 😛 Con i programmi Qt 4 qualcosa si salva, l’aspetto è un po’ integrato anche se si può migliorare di molto.

Sintomi da incoerenza multipla
Sintomi da incoerenza multipla

Nell’immagine vedete uno screeshot di Ubuntu Intrepid a cui sono stati aggiunti alcuni software con le varie librerie grafiche, senza modificarne l’aspetto. Si salva solo VLC, che almeno è guardabile, anche se i colori sono un po’ più scuri di quanto dovrebbero.

Quando mi sono capitate queste cose, finora, la soluzione era quella di installare i configuratori di Qt (versione 3 e 4) e cambiare i colori e il tema a mano, fino a trovare una combinazione gradevole. Tutto ciò dopo ogni cambiamento di tema e di colori. Per i programmi KDE, la soluzione poteva essere di installare tantissimi pacchetti KDE 4 solo per cambiare il tema, oppure peggio per KDE 3… Nessun modo.

Ero stanco di questa situazione, ed ho voluto crearmi un modo di poter svolgere il lavoro: cambiare quattro configurazioni diverse per ottenere un aspetto omogeneo in un attimo e senza fatica! 😀

Dopo sabati (e altri giorni) passati a programmare, vari tentativi, bug trovati e fix applicati, sono riuscito ad ottenere uno script in bash estremamente semplice da eseguire. Una volta aperto esso ricava la configurazione di GNOME (colori e tema del puntatore, e in più le icone, anche se per ora è un dato non utilizzato) e scrive le configurazioni adatte per KDE 3, KDE 4, Qt 3 e Qt 4; infine le applica.

Il processo è automatico e indolore. 🙂

Una volta chiuse le applicazioni, si riaprono ed ecco il risultato:

Dopo la cura
Dopo la cura

Durante la realizzazione dello script, ho avuto modo di analizzare un po’ la struttura delle varie configurazioni, capire dove dovevano andare le informazioni, e così via. È stato veramente divertente e sono contento di condividere con voi il risultato.

Lo script si chiama UniformUI e penso che sarà utilissimo a tutti gli utenti GNOME. A mio avviso questo script è comodissimo e permette di risparmiare tempo.

Mi piacerebbe perfezionarlo e migliorarlo, e chissà, magari in futuro potrebbe diventare diffuso. Il codice naturalmente è rilasciato sotto licenza GPL. Se volete dare una mano fatemelo sapere e proponetemi i vostri miglioramenti! 😉

Per usare lo script, scaricate il file da qui (versione 1, vedete sotto per le ultime versioni) e dategli i permessi di esecuzione. Infine, fatelo eseguire in un terminale (altrimenti non vedrete l’output). Chiudete le applicazioni che usano librerie Qt e riapritele.

Noterete subito il cambiamento. 😀

Aggiornamento 12/06/2009: È uscita la versione 2! A questa pagina le note di rilascio ed il download.