Difference between revisions of "Uniform look for Qt and GTK applications (Italiano)"

From ArchWiki
Jump to: navigation, search
(traduzione paragrafo QtCurve)
m
(35 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 
[[Category:Desktop environments (Italiano)]]
 
[[Category:Desktop environments (Italiano)]]
[[Category:HOWTOs (Italiano)]]
 
 
[[Category:Eye candy (Italiano)]]
 
[[Category:Eye candy (Italiano)]]
{{i18n|Uniform Look for QT and GTK Applications}}
+
[[en:Uniform Look for Qt and GTK Applications]]
{{translateme}}
+
[[es:Uniform Look for Qt and GTK Applications]]
{{Nota|Questo articolo è in fase di traduzione. Seguite per ora le istruzioni della versione inglese.}}
+
[[ru:Uniform Look for Qt and GTK Applications]]
 +
[[uk:Uniform Look for Qt and GTK Applications]]
 +
[[zh-CN:Uniform Look for Qt and GTK Applications]]
 +
 
 +
{{out_of_date | Questa pagina è in fase di revisione e potrebbe non essere aggiornata. Seguite per ora le istruzioni della versione inglese. | Talk:ArchWiki Translation Team (Italiano)#Pagine Marcate come "out of date" e "Traslateme"}}
 +
 
 
{{Article summary start}}
 
{{Article summary start}}
{{Article summary text|Questo articolo descrive la configurazione dettagliata delle Qt e GTK+ per assicurare uno stile delle applicazioni uniforme. Questo articolo copre configurazione, theme engine, trucchi e troubleshooting.}}
+
{{Article summary text|Questo articolo descrive la configurazione dettagliata delle Qt e GTK+ per assicurare uno stile delle applicazioni uniforme. Questo articolo copre configurazione, motore dei temi, trucchi e troubleshooting.}}
 
{{Article summary heading|Related}}
 
{{Article summary heading|Related}}
{{Article summary wiki|GTK+}}
+
{{Article summary wiki|GTK+_(Italiano)|GTK+}}
 
{{Article summary end}}
 
{{Article summary end}}
  
 
= Introduzione =
 
= Introduzione =
I programmi basati su [http://it.wikipedia.org/wiki/Qt_(toolkit) Qt]- e [[GTK+]] utilizzano diversi widget toolkit per renderizzare l'interfaccia grafica utente. Ognuno di default è fornito di diversi temi, stili e set di icone così il "look & feel" è significativamente differente. Questo articolo vi aiuterà nel rendere le applicazioni Qt e GTK+ simili tra loro in modo da ottenere un'esperienza desktop più "integrata" e razionale.
+
I programmi basati su [http://it.wikipedia.org/wiki/Qt_(toolkit) Qt]- e [[GTK+_(Italiano)|GTK+]] utilizzano diversi widget toolkit per renderizzare l'interfaccia grafica utente. Ognuno di default è fornito di diversi temi, stili e set di icone così il "look & feel" è significativamente differente. Questo articolo vi aiuterà nel rendere le applicazioni Qt e GTK+ simili tra loro in modo da ottenere un'esperienza desktop più "integrata" e razionale.
  
 
''"Qt (pronuncia "cute") è un framework di sviluppo applicazioni cross-platform largamente usato per sviluppare sia applicazioni basate su GUI (in questo caso esso è noto come widget toolkit) che applicazioni "non-GUI" come strumenti per console e server."''
 
''"Qt (pronuncia "cute") è un framework di sviluppo applicazioni cross-platform largamente usato per sviluppare sia applicazioni basate su GUI (in questo caso esso è noto come widget toolkit) che applicazioni "non-GUI" come strumenti per console e server."''
Line 28: Line 32:
  
 
[http://www.oxygen-icons.org/ Oxygen] è lo stile Qt4 preinstallato con KDE4.
 
[http://www.oxygen-icons.org/ Oxygen] è lo stile Qt4 preinstallato con KDE4.
Esiste anche una versione GTK+ chiamata [http://kde-look.org/content/show.php?content=103741 oxygen-molecule] disponibile attraverso [http://aur.archlinux.org/packages.php?ID=26138 AUR]. Il suo obbiettivo è quello di fornire un look uniforme alle applicazioni GTK+ quando usate in KDE attraverso gtk-engine-pixbuf, una dipendenza anch'essa disponibile in [http://aur.archlinux.org/packages.php?ID=16862 AUR]. Il pacchetto AUR fornisce semplici ma sufficienti informazioni per completare l'installazione. Per informazioni più dettagliate scaricare [http://kde-look.org/content/show.php?content=103741 oxygen-molecule] da KDE-look.
+
Esiste anche una versione GTK+ chiamata [http://kde-look.org/content/show.php?content=103741 oxygen-molecule] disponibile attraverso [[AUR]] as {{AUR|oxygen-molecule-theme}}. Il suo obiettivo è quello di fornire un look uniforme alle applicazioni GTK+ quando usate in KDE attraverso gtk-engine-pixbuf, una dipendenza anch'essa disponibile in [[AUR]] as {{AUR|gtk-engine-pixbuf}}. Il pacchetto AUR fornisce semplici ma sufficienti informazioni per completare l'installazione. Per informazioni più dettagliate scaricare [http://kde-look.org/content/show.php?content=103741 oxygen-molecule] da KDE-look.
  
Un altro port GTK+ è il pacchetto {{Package Official|oxygen-gtk}}. Il suo obbiettivo principale è assicurare una grafica uniforme tra applicazioni Qt e GTK+ nell'ambiente KDE. Un obbiettivo secondario è fornire un tema gtk attraente e che si comporti bene sui vari Desktop Environment. Sfortunatamente come per tutti gli altri tentativi di portare il tema oxygen in gtk esso non dipende dalle Qt (attraverso un qualche motore di conversione tra Qt e Gtk), nor does render the widget appearance via hard coded pixmaps, which otherwise breaks everytime some setting is changed in kde.
+
Un altro port GTK+ è il pacchetto {{Pkg|oxygen-gtk}}. Il suo obiettivo principale è assicurare una grafica uniforme tra applicazioni Qt e GTK+ nell'ambiente KDE. Un obiettivo secondario è fornire un tema gtk attraente e che si comporti bene sui vari Desktop Environment. Sfortunatamente come per tutti gli altri tentativi di portare il tema oxygen in gtk esso non dipende dalle Qt (attraverso un qualche motore di conversione tra Qt e Gtk), e non renderizza l'aspetto dei widget tramite pixmaps pre-impostati. Inoltre crea problemi ogni volta che vene cambiata qualche impostazione in kde.
  
 
== QtCurve ==
 
== QtCurve ==
  
Disponibile per ''qt4'' (kde4), ''qt3'' (kde3), e ''gtk2'' (gnome) nel repository '''[extra]''' , è uno stile altamente configurabile e sicuramente il più popolare. Dispone di molti controlli e di diverse opzioni che permettono di configurare diverse cose a partire dall'aspetto dei pulsanti fino alla forma delle barre di scorrimento. Il tema è possibile installarlo attraverso pacman
+
QtCurve è uno stile altamente configurabile e molto popolare. Dispone di molti controlli e opzioni che permettono di configurare diverse cose a partire dall'aspetto dei pulsanti fino alla forma delle barre di scorrimento.
 +
Disponibile per ''qt4'' (kde4), ''qt3'' (kde3), e ''gtk2'' (gnome) nel repository '''[extra]''', si può installare con pacman:
 
  # pacman -S qtcurve-gtk2 qtcurve-kde3 qtcurve-kde4
 
  # pacman -S qtcurve-gtk2 qtcurve-kde3 qtcurve-kde4
  
== Others ==
+
== Altri ==
  
Similar style sets are those that look like each other - written and provided for both Qt and GTK+ - but are not necessarily from the same developers. You may have to do some minor tweaking to make them look the same. Below is a list:
+
I set di stile simili sono quelli che, scritti sia per Qt che per GTK (ma non necessariamente dallo stesso sviluppatore), si somigliano tra loro. Potrebbe essere necessario effettuare qualche modifica minore per ottenere lo stesso look. Di seguito ne sono elencati alcuni:
  
 
*klearlooks (qt3); clearlooks (gtk2)
 
*klearlooks (qt3); clearlooks (gtk2)
  
= How do I set styles for each toolkit? =
+
= Come posso configurare lo stile per ogni toolkit? =
  
You can use the following methods to change the theme used in each environment.
+
E' possibile usare i seguenti metodi per cambiare il tema in ogni ambiente.
  
== QT3 styles ==
+
== Stili QT3 ==
* Using ''KDE3 Control Center'' (kcontrol):
+
* Usando il ''Centro di controllo di KDE3'' (kcontrol):
:--> Appearance & Themes --> Style --> Widget Style
+
:--> Aspetto & Temi --> Stile --> Stile del Widget
* kde-config --style [name of style]
+
* kde-config --style [nome dello stile]
 
* ''Qt Configuration'' (qt3config | /opt/qt/bin/qtconfig)
 
* ''Qt Configuration'' (qt3config | /opt/qt/bin/qtconfig)
:--> Appearance --> Select GUI Style
+
:--> Aspetto --> Seleziona stile della GUI
  
== QT4 styles ==
+
== Stili QT4 ==
* Using ''KDE4 System Settings'' (/usr/bin/systemsettings)
+
* Usando ''Impostazioni di sistema di KDE4'' (/usr/bin/systemsettings)
:--> Common Appearance and Behavior --> Application Appearance --> Style --> Widget Style''
+
:--> Aspetto e comportamento comune --> Aspetto delle applicazioni --> Stile --> Stile del Widget''
 
* ''Qt Configuration'' (/usr/bin/qtconfig)
 
* ''Qt Configuration'' (/usr/bin/qtconfig)
:--> Appearance --> Select GUI Style
+
:--> Aspetto --> Seleziona stile della GUI
  
== GTK2 styles ==
+
== Stili GTK2 ==
* {{Package Official|gtk-kde4}}    (allows you to change style and font of GTK applications in KDE4)
+
* {{Pkg|gtk-kde4}}    (permette di cambiare stile e font delle applicazioni GTK in KDE4)
* {{Package Official|lxappearance}} (a DE independent configuration tool from the LXDE project, which does not require any other parts of LXDE)
+
* {{Pkg|lxappearance}} (un tool di configurazione indipendente dal DE e messo a disposizione dal LXDE project. Esso non richiede nessun altro componente di LXDE)
* {{Package Official|gtk-chtheme}}  (considered a better alternative to switch2)
+
* {{Pkg|gtk-chtheme}}  (considerarlo come una migliore alternativa a switch2)
* {{Package Official|gtk2_prefs}}
+
* {{Pkg|gtk2_prefs}}
* {{Package Official|gtk-theme-switch2}}
+
* {{Pkg|gtk-theme-switch2}}
* [[GTK%2B#GTK.2B_2.x|Manual configuration]]
+
* [[GTK%2B#GTK.2B_2.x|Configurazione manuale]]
  
== GTK1 styles ==
+
== Stili GTK1 ==
* [https://aur.archlinux.org/packages.php?K=gtk-theme-switch gtk-theme-switch package (AUR)]
+
* {{AUR|gtk-theme-switch}} pacchetto from the [[AUR]]
  
= Theme Engines =
+
= Motore dei temi =
  
A Theme Engine can be thought of as a thin layer API which translates themes (excluding icons) between one or more toolkits. These engines add some extra code in the process and it is arguable that this kind of a solution is not as elegant and optimal as using native styles.
+
Un motore temi può essere pensato come ad un sottile strato di API usato per tradurre i temi (escluse le icone) tra diversi toolkit. Questi motori aggiungono del codice in più nel processo ed è una scelta discutibile in quanto è una soluzione poco elegante ed efficiente rispetto ad uno stile nativo.
  
 
== GTK-QT-Engine ==
 
== GTK-QT-Engine ==
  
This one is for use by GTK+ applications running in KDE, which basically means this is for KDE. It applies all Qt settings (styles, fonts, not icons though) to the GTK+ applications and uses the style plug-ins directly. Please note that there are rendering issues with some Qt styles.
+
Questo motore può essere usato dalle applicazioni GTK+ nell'ambiente KDE, questo fondamentalmente significa che è per KDE. Esso applica tutte le impostazioni Qt (stili, fonts ma non icone) alle applicazioni GTK+ e usa direttamente i plugin dello stile. Notare che esistono problemi di rendering con alcuni stili Qt.
  
 
  # pacman -S gtk-qt-engine
 
  # pacman -S gtk-qt-engine
  
You can access it from:
+
E' possibile accedere ad esso da:
:''Control Center (kcontrol) --> Appearance & Themes --> GTK Styles and Fonts''
+
:''Centro di controllo (kcontrol) --> Aspetto & Temi --> Font e Stili GTK ''
  
If you want to remove it entirely and every trace of it, you should delete the following files:
+
Se lo si vuole rimuovere completamente si dovrebbero rimuovere i seguenti file:
  
 
*~/.gtkrc2.0-kde
 
*~/.gtkrc2.0-kde
Line 90: Line 95:
 
*~/gtk-qt-engine.rc
 
*~/gtk-qt-engine.rc
  
=== Make it work with OpenOffice ===
+
=== Funzionamento con OpenOffice ===
Set (as root):
+
Digitare (come root):
 
  export SAL_GTK_USE_PIXMAPPAINT=1
 
  export SAL_GTK_USE_PIXMAPPAINT=1
into /etc/profile. In KDE4 systemsettings, make sure "use my KDE style in GTK applications" is selected in Appearance > GTK styles and fonts.
+
nel file /etc/profile. Nelle Impostazioni di sistema di KDE4 assicurarsi che in Aspetto > Stile GTK e fonts sia selezionato "utilizza lo stile KDE nelle applicazioni GTK".
  
 
== QGtkStyle ==
 
== QGtkStyle ==
  
This is a Qt style which intends to make applications blend perfectly into the GNOME desktop environment by using GTK to render all components. To use this style you must have at least GTK+ 2.0 and Qt 4.3, although Qt 4.4 or higher is preferred.
+
Questo è uno stile Qt che intende rendere le applicazioni perfettamente armonizzate nel desktop GNOME tramite l'uso delle GTK per renderizzare tutti i componenti. Per usare questo stile si dovrebbe avere almeno GTK+ 2.0 e Qt 4.3 anche se le Qt 4.4 sono consigliate.
  
{{Note|Beginning with version 4.5 this style is included in Qt. You don't have to install this package yourself, but there is an entry in the AUR for those still interested: [[http://aur.archlinux.org/packages.php?ID=16964 qgtkstyle-svn]].}}
+
{{Note|A partire dalla versione 4.5 questo stile è incluso nelle Qt per cui non è necessario installare questo pacchetto. Per quelli interessati è disponibile comunque un pacchetto in AUR: {{AUR|qgtkstyle-svn}}.}}
  
===Having trouble making your Qt applications use QGtkStyle?===
+
===Possibili problemi con le applicazioni Qt che utilizzano QGtkStyle===
  
Qt won't apply QGtkStyle correctly if GTK is using the [[Uniform Look for QT and GTK Applications#GTK-QT-Engine|GTK-QT-Engine]]. Qt determines whether the [[Uniform Look for QT and GTK Applications#GTK-QT-Engine|GTK-QT-Engine]] is in use by reading the GTK configuration files listed in the environmental variable '''GTK2_RC_FILES'''. If the environmental variable is not set properly, Qt assumes you are using the [[Uniform Look for QT and GTK Applications#GTK-QT-Engine|GTK-QT-Engine]], sets QGtkStyle to use the style GTK style ''Clearlooks'', and outputs an error message:
+
Le Qt non applicano correttamente lo stile QGtkStyle se le GTK usano [[Uniform Look for QT and GTK Applications#GTK-QT-Engine|GTK-QT-Engine]]. Qt determina se [[Uniform Look for QT and GTK Applications#GTK-QT-Engine|GTK-QT-Engine]] è in uso leggendo il file di configurazione delle GTK contenuto nella variabile di sistema '''GTK2_RC_FILES'''. Se questa variabile non è impostata correttamente Qt suppone che si stia usando [[Uniform Look for QT and GTK Applications#GTK-QT-Engine|GTK-QT-Engine]], inoltre configura QGtkStyle in modo che utilizzi lo stile GTK ''Clearlooks'' e visualizza il seguente messaggio di errore:
  
 
  QGtkStyle cannot be used together with the GTK_Qt engine.
 
  QGtkStyle cannot be used together with the GTK_Qt engine.
  
Another error you may get after launching qtconfig from a shell and selecting the Gtk+ style is:
+
Un altro errore che si potrebbe incontrare dopo aver lanciato qtconfig dalla shell e selezionato lo stile Gtk+ è:
  
 
  QGtkStyle was unable to detect the current GTK+ theme.
 
  QGtkStyle was unable to detect the current GTK+ theme.
  
Users of [[Openbox]] and other non-GNOME environments may encounter this problem. Here is a solution:
+
Gli utenti di [[Openbox]] e degli altri sistemi non-GNOME potrebbero incontrare facilmente questo problema. Una soluzione può essere:
  
*Tell Qt where to look for your GTK configuration file by adding the following to your {{Filename|.xinitrc}} file:
+
*Dire a Qt dove cercare il file di configurazione GTK aggiungendo le seguenti linee nel file {{ic|.xinitrc}}:
**To add multiple paths, separate them with colons.
+
**Per aggiungere più percorsi separarli con un due punti.
**The $HOME part will expand to be path to your user's home directory. Using the ~ shortcut won't work.
+
**La variabile $HOME deve contenere il percorso della home del proprio utente. L'utilizzo del simbolo ~ non funziona.
{{File|name=.xinitrc|content=...
+
{{hc|.xinitrc|2=...
 
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
 
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
 
...}}
 
...}}
  
*In {{Filename|.gtkrc-2.0}} you must specify a GTK theme. For example:
+
*Nel file {{ic|.gtkrc-2.0}} va specificato un tema GTK. Ad esempio:
**This is usually done for you by an [[Uniform Look for QT and GTK Applications#GTK2_styles|application which sets GTK2 Styles]]
+
**Normalmente questo viene fatto tramite un'[[Uniform Look for QT and GTK Applications#GTK2_styles|applicazione per impostare i temi GTK2]]
**If {{Filename|~/.gtkrc-2.0}} doesn't exist, simply create it and insert the following line.
+
**Se il file {{ic|~/.gtkrc-2.0}} non esiste basta semplicemente crearlo ed aggiungere le seguenti linee:
{{File|name=.gtkrc-2.0|content=...
+
{{hc|.gtkrc-2.0|2=...
 
gtk-theme-name="Crux"
 
gtk-theme-name="Crux"
 
...}}
 
...}}
However it seems in some cases those tools insert only an include directive like
+
Comunque sembra che a volte questi tool inseriscono solamente una direttiva del tipo:
{{File|name=.gtkrc-2.0|content=...
+
{{hc|.gtkrc-2.0|...
 
include "/usr/share/themes/SomeTheme/gtk-2.0/gtkrc"
 
include "/usr/share/themes/SomeTheme/gtk-2.0/gtkrc"
...}} which apparently is not recognized by all versions of QGtkStyle. You can hotfix this problem by inserting the gtk-theme-name manually in your .gtkrc-2.0 like above, note however that Gtk2-style-change applications might overwrite that change when you use them.
+
...}} che apparentemente non viene riconosciuta da tutte le versioni di QGtkStyle. Una soluzione è inserire manualmente il nome del tema gtk nel file .gtkrc-2.0 come sopra. Notare che comunque durante l'utilizzo delle applicazioni per la modifica degli stili GTK2 queste modifiche potrebbero essere perse.
  
To choose your GTK theme for QT apps you must run:
+
Per scegliere il proprio tema GTK nelle applicazioni Qt si deve eseguire:
  
 
  qtconfig
 
  qtconfig
  
= Other Tricks =
+
= Altri trucchi =
== KDE file dialogs for GTK2 apps ==
+
== Menu di KDE per le applicazioni GTK2 ==
KGtk is a wrapper script that LD_PRELOAD to force KDE file dialogs (open, save, etc) in GTK2 apps. If you use KDE and prefer its file dialogs over GTK's then you can install kgtk from AUR. Once installed you can run GTK2 applications with kgtk-wrapper in 2 ways (using gimp in the examples).
+
KGtk è uno script wrapper che sfrutta LD_PRELOAD per forzare i menu di KDE (apri, salva, ecc) nelle applicazioni GTK2. Se si sta usando KDE e si preferiscono i suoi menu sulle applicazioni GTK è possibile installare kgtk da AUR. Una volta installato è possibile eseguire le applicazioni GTK2 tramite kgtk-wrapper in due modi (nell'esempio useremo gimp).
  
Calling kgtk-wrapper directly and using the GTK2 binary as an arguement
+
Chiamando kgtk-wrapper direttamente e usando i binari GTK2 come argomento
  /usr/local/bin/kgtk-wrapper gimp
+
  /usr/bin/kgtk-wrapper gimp
  
OR
+
OPPURE
  
Creating a symbolic link to kgtk using the name of the GTK2 binary. Then you can run /usr/local/bin/gimp when you want to run gimp with KDE dialogs.
+
Creando un link simbolico alle kgtk usando il nome dei binari GTK2. In seguito è possibile eseguire /usr/local/bin/gimp per eseguire gimp con i menu di KDE.
  ln -s /usr/local/bin/kgtk-wrapper /usr/local/bin/gimp
+
  ln -s /usr/bin/kgtk-wrapper /usr/local/bin/gimp
  /usr/local/bin/gimp
+
  /usr/bin/gimp
  
== aMSN GTK or KDE dialogs ==
+
== Menu GTK o KDE in aMSN ==
aMSN's TK file dialogs are plain looking but no fear there is a plugin that will allow you to use GTK or KDE file dialogs to match your desktop. You can find the plugin on [http://www.amsn-project.net/plugins.php aMSN's Plugin Page]
+
Se i menu in TK di aMSN hanno un aspetto piatto è possibile utilizzare un plugin che permette di usare i menu GTK o KDE in modo da adattarli all'aspetto del desktop. E' possibile trovare il plugin in [http://www.amsn-project.net/plugins.php aMSN's Plugin Page]
  
== Using custom GTK style ==
+
== Usare uno stile GTK personalizzato ==
You can use custom styles for specific GTK2 applications. For this, use GTK2_RC_FILES=/path/to/theme/gtk-2.0/gtkrc appname
+
E' possibile usare uno stile personalizzato per le applicazioni GTK2. Per fare questo usare GTK2_RC_FILES=/path/to/theme/gtk-2.0/gtkrc nomeApplicazione
  
For example:
+
Ad esempio:
 
  GTK2_RC_FILES=/usr/share/themes/QtCurve/gtk-2.0/gtkrc firefox
 
  GTK2_RC_FILES=/usr/share/themes/QtCurve/gtk-2.0/gtkrc firefox
It will launch firefox with QtCurve theme.
+
Esegue firefox con il tema QtCurve.
  
 
= Troubleshooting =
 
= Troubleshooting =
  
== Themes not working in GTK apps ==
+
== I temi non funzionano nelle applicazioni GTK ==
  
If the style or theme engine you setup isn't showing in your GTK apps then it's likely your GTK settings files aren't being loaded for some reason. You can check where your system expects to find these files by doing the following..
+
Se lo stile o il motore dei temi configurato non visualizza le applicazioni GTK il problema potrebbe essere che le impostazioni GTK per qualche ragione non vengono caricate.
 +
Si può verificare dove il sistema si aspetta di trovare questi file digitando:
 
  $ export | grep gtk
 
  $ export | grep gtk
  
Usually the expected files should be ~/.gtkrc for GTK1, ~/.gtkrc2.0 or ~/.gtkrc2.0-kde for GTK2
+
Di solito, per le GTK2, i file dovrebbero trovarsi in ~/.gtkrc for GTK1, ~/.gtkrc2.0 or ~/.gtkrc2.0-kde
  
Newer versions of gtk-qt-engine use ~/.gtkrc2.0-kde and set the export variable in ~/.kde/env/gtk-qt-engine.rc.sh
+
Le nuove versioni di gtk-qt-engine usano ~/.gtkrc2.0-kde, inoltre impostano ed esportano ~/.kde/env/gtk-qt-engine.rc.sh
If you recently removed gtk-qt-engine and are trying to set a GTK theme then you must remove ~/.kde/env/gtk-qt-engine.rc.sh and reboot. Doing this will ensure that GTK looks for it's settings in the standard ~/.gtkrc2.0 instead of ~/.gtkrc2.0-kde
+
Se si è recentemente rimosso gtk-qt-engine e si sta' tentando di impostare un tema GTK, per prima cosa si dovrebbe rimuovere ~/.kde/env/gtk-qt-engine.rc.sh e riavviare. Questo assicura che le GTK cerchino le proprie impostazioni in ~/.gtkrc2.0 al posto di ~/.gtkrc2.0-kde.

Revision as of 20:45, 20 June 2013


Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: Questa pagina è in fase di revisione e potrebbe non essere aggiornata. Seguite per ora le istruzioni della versione inglese. (Discuss in Talk:ArchWiki Translation Team (Italiano)#Pagine Marcate come "out of date" e "Traslateme")
Template:Article summary start

Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

Introduzione

I programmi basati su Qt- e GTK+ utilizzano diversi widget toolkit per renderizzare l'interfaccia grafica utente. Ognuno di default è fornito di diversi temi, stili e set di icone così il "look & feel" è significativamente differente. Questo articolo vi aiuterà nel rendere le applicazioni Qt e GTK+ simili tra loro in modo da ottenere un'esperienza desktop più "integrata" e razionale.

"Qt (pronuncia "cute") è un framework di sviluppo applicazioni cross-platform largamente usato per sviluppare sia applicazioni basate su GUI (in questo caso esso è noto come widget toolkit) che applicazioni "non-GUI" come strumenti per console e server."

  • Tema - Raccolta di uno stile, un tema di icone e un tema di colori.
  • Stile - Layout grafico; look.
  • Tema delle icone - Set di icone.
  • Tema dei colori - Set di colori usato in associazione allo stile.

Stile per Qt e GTK+

Esistono dei set di stili creati con lo scopo dell'integrazione in quanto scritti e distribuiti per le principali versioni di Qt e GTK+. Con essi è possibile avere un look uniforme per tutte le applicazioni indipendentemente dal toolkit con cui sono state scritte.

KDE4 Oxygen

Oxygen è lo stile Qt4 preinstallato con KDE4. Esiste anche una versione GTK+ chiamata oxygen-molecule disponibile attraverso AUR as oxygen-molecule-themeAUR. Il suo obiettivo è quello di fornire un look uniforme alle applicazioni GTK+ quando usate in KDE attraverso gtk-engine-pixbuf, una dipendenza anch'essa disponibile in AUR as gtk-engine-pixbufAUR. Il pacchetto AUR fornisce semplici ma sufficienti informazioni per completare l'installazione. Per informazioni più dettagliate scaricare oxygen-molecule da KDE-look.

Un altro port GTK+ è il pacchetto oxygen-gtk. Il suo obiettivo principale è assicurare una grafica uniforme tra applicazioni Qt e GTK+ nell'ambiente KDE. Un obiettivo secondario è fornire un tema gtk attraente e che si comporti bene sui vari Desktop Environment. Sfortunatamente come per tutti gli altri tentativi di portare il tema oxygen in gtk esso non dipende dalle Qt (attraverso un qualche motore di conversione tra Qt e Gtk), e non renderizza l'aspetto dei widget tramite pixmaps pre-impostati. Inoltre crea problemi ogni volta che vene cambiata qualche impostazione in kde.

QtCurve

QtCurve è uno stile altamente configurabile e molto popolare. Dispone di molti controlli e opzioni che permettono di configurare diverse cose a partire dall'aspetto dei pulsanti fino alla forma delle barre di scorrimento. Disponibile per qt4 (kde4), qt3 (kde3), e gtk2 (gnome) nel repository [extra], si può installare con pacman:

# pacman -S qtcurve-gtk2 qtcurve-kde3 qtcurve-kde4

Altri

I set di stile simili sono quelli che, scritti sia per Qt che per GTK (ma non necessariamente dallo stesso sviluppatore), si somigliano tra loro. Potrebbe essere necessario effettuare qualche modifica minore per ottenere lo stesso look. Di seguito ne sono elencati alcuni:

  • klearlooks (qt3); clearlooks (gtk2)

Come posso configurare lo stile per ogni toolkit?

E' possibile usare i seguenti metodi per cambiare il tema in ogni ambiente.

Stili QT3

  • Usando il Centro di controllo di KDE3 (kcontrol):
--> Aspetto & Temi --> Stile --> Stile del Widget
  • kde-config --style [nome dello stile]
  • Qt Configuration (qt3config | /opt/qt/bin/qtconfig)
--> Aspetto --> Seleziona stile della GUI

Stili QT4

  • Usando Impostazioni di sistema di KDE4 (/usr/bin/systemsettings)
--> Aspetto e comportamento comune --> Aspetto delle applicazioni --> Stile --> Stile del Widget
  • Qt Configuration (/usr/bin/qtconfig)
--> Aspetto --> Seleziona stile della GUI

Stili GTK2

Stili GTK1

Motore dei temi

Un motore temi può essere pensato come ad un sottile strato di API usato per tradurre i temi (escluse le icone) tra diversi toolkit. Questi motori aggiungono del codice in più nel processo ed è una scelta discutibile in quanto è una soluzione poco elegante ed efficiente rispetto ad uno stile nativo.

GTK-QT-Engine

Questo motore può essere usato dalle applicazioni GTK+ nell'ambiente KDE, questo fondamentalmente significa che è per KDE. Esso applica tutte le impostazioni Qt (stili, fonts ma non icone) alle applicazioni GTK+ e usa direttamente i plugin dello stile. Notare che esistono problemi di rendering con alcuni stili Qt.

# pacman -S gtk-qt-engine

E' possibile accedere ad esso da:

Centro di controllo (kcontrol) --> Aspetto & Temi --> Font e Stili GTK

Se lo si vuole rimuovere completamente si dovrebbero rimuovere i seguenti file:

  • ~/.gtkrc2.0-kde
  • ~/.kde4/env/gtk-qt-engine.rc.sh
  • ~/gtk-qt-engine.rc

Funzionamento con OpenOffice

Digitare (come root):

export SAL_GTK_USE_PIXMAPPAINT=1

nel file /etc/profile. Nelle Impostazioni di sistema di KDE4 assicurarsi che in Aspetto > Stile GTK e fonts sia selezionato "utilizza lo stile KDE nelle applicazioni GTK".

QGtkStyle

Questo è uno stile Qt che intende rendere le applicazioni perfettamente armonizzate nel desktop GNOME tramite l'uso delle GTK per renderizzare tutti i componenti. Per usare questo stile si dovrebbe avere almeno GTK+ 2.0 e Qt 4.3 anche se le Qt 4.4 sono consigliate.

Note: A partire dalla versione 4.5 questo stile è incluso nelle Qt per cui non è necessario installare questo pacchetto. Per quelli interessati è disponibile comunque un pacchetto in AUR: qgtkstyle-svnAUR.

Possibili problemi con le applicazioni Qt che utilizzano QGtkStyle

Le Qt non applicano correttamente lo stile QGtkStyle se le GTK usano GTK-QT-Engine. Qt determina se GTK-QT-Engine è in uso leggendo il file di configurazione delle GTK contenuto nella variabile di sistema GTK2_RC_FILES. Se questa variabile non è impostata correttamente Qt suppone che si stia usando GTK-QT-Engine, inoltre configura QGtkStyle in modo che utilizzi lo stile GTK Clearlooks e visualizza il seguente messaggio di errore:

QGtkStyle cannot be used together with the GTK_Qt engine.

Un altro errore che si potrebbe incontrare dopo aver lanciato qtconfig dalla shell e selezionato lo stile Gtk+ è:

QGtkStyle was unable to detect the current GTK+ theme.

Gli utenti di Openbox e degli altri sistemi non-GNOME potrebbero incontrare facilmente questo problema. Una soluzione può essere:

  • Dire a Qt dove cercare il file di configurazione GTK aggiungendo le seguenti linee nel file .xinitrc:
    • Per aggiungere più percorsi separarli con un due punti.
    • La variabile $HOME deve contenere il percorso della home del proprio utente. L'utilizzo del simbolo ~ non funziona.
.xinitrc
...
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
...
  • Nel file .gtkrc-2.0 va specificato un tema GTK. Ad esempio:
.gtkrc-2.0
...
gtk-theme-name="Crux"
...

Comunque sembra che a volte questi tool inseriscono solamente una direttiva del tipo:

.gtkrc-2.0
...
include "/usr/share/themes/SomeTheme/gtk-2.0/gtkrc"
...
che apparentemente non viene riconosciuta da tutte le versioni di QGtkStyle. Una soluzione è inserire manualmente il nome del tema gtk nel file .gtkrc-2.0 come sopra. Notare che comunque durante l'utilizzo delle applicazioni per la modifica degli stili GTK2 queste modifiche potrebbero essere perse.

Per scegliere il proprio tema GTK nelle applicazioni Qt si deve eseguire:

qtconfig

Altri trucchi

Menu di KDE per le applicazioni GTK2

KGtk è uno script wrapper che sfrutta LD_PRELOAD per forzare i menu di KDE (apri, salva, ecc) nelle applicazioni GTK2. Se si sta usando KDE e si preferiscono i suoi menu sulle applicazioni GTK è possibile installare kgtk da AUR. Una volta installato è possibile eseguire le applicazioni GTK2 tramite kgtk-wrapper in due modi (nell'esempio useremo gimp).

Chiamando kgtk-wrapper direttamente e usando i binari GTK2 come argomento

/usr/bin/kgtk-wrapper gimp

OPPURE

Creando un link simbolico alle kgtk usando il nome dei binari GTK2. In seguito è possibile eseguire /usr/local/bin/gimp per eseguire gimp con i menu di KDE.

ln -s /usr/bin/kgtk-wrapper /usr/local/bin/gimp
/usr/bin/gimp

Menu GTK o KDE in aMSN

Se i menu in TK di aMSN hanno un aspetto piatto è possibile utilizzare un plugin che permette di usare i menu GTK o KDE in modo da adattarli all'aspetto del desktop. E' possibile trovare il plugin in aMSN's Plugin Page

Usare uno stile GTK personalizzato

E' possibile usare uno stile personalizzato per le applicazioni GTK2. Per fare questo usare GTK2_RC_FILES=/path/to/theme/gtk-2.0/gtkrc nomeApplicazione

Ad esempio:

GTK2_RC_FILES=/usr/share/themes/QtCurve/gtk-2.0/gtkrc firefox

Esegue firefox con il tema QtCurve.

Troubleshooting

I temi non funzionano nelle applicazioni GTK

Se lo stile o il motore dei temi configurato non visualizza le applicazioni GTK il problema potrebbe essere che le impostazioni GTK per qualche ragione non vengono caricate. Si può verificare dove il sistema si aspetta di trovare questi file digitando:

$ export | grep gtk

Di solito, per le GTK2, i file dovrebbero trovarsi in ~/.gtkrc for GTK1, ~/.gtkrc2.0 or ~/.gtkrc2.0-kde

Le nuove versioni di gtk-qt-engine usano ~/.gtkrc2.0-kde, inoltre impostano ed esportano ~/.kde/env/gtk-qt-engine.rc.sh Se si è recentemente rimosso gtk-qt-engine e si sta' tentando di impostare un tema GTK, per prima cosa si dovrebbe rimuovere ~/.kde/env/gtk-qt-engine.rc.sh e riavviare. Questo assicura che le GTK cerchino le proprie impostazioni in ~/.gtkrc2.0 al posto di ~/.gtkrc2.0-kde.