HOWTO Same look for QT, GTK 2 and GTK 1 apps

From Gentoo Linux Wiki

Jump to: navigation, search
Wikipedia has an article on:
Wikipedia has an article on:

This manual solves the problem with different looks of Qt, GTK2 and GTK1. This will help if you are using GTK applications from KDE or Qt applications from Gnome.



QtCurve is a theme for Qt, GTK2 and GTK1. Three different themes, one uniform look. Simple, yet powerful. It works great, old GTK1 apps (nmapfe) look the same as new shiny GTK2. Take a look here for screenshots and downloads: [1]

The easiest way to install QtCurve for Gentoo users will be to get the ebuild from bugzilla[2] and add it to their local portage overlay, then

  emerge -av --digest qtcurve

Or use the Sunrise[3] overlay:

  emerge -av layman
  echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf
  layman -f -a sunrise
  emerge -av qtcurve

All other Linux users should follow the following instructions.

Download, unpack. As NORMAL USER (this is important, configuration fail with root) run:

  ./configure --prefix=`kde-config --prefix`
  make install

Now you must make the themes the defaults. This is from the manual:

For KDE:

  Use KControl, go to the "Appearance & Themes" section, enter the Style sub-section,
  and choose "QtCurve"
  or kde-config --style QtCurve

For GTK1:

       /usr/share/themes/QtCurve/gtk/gtkrc either
       /etc/gtk/gtkrc           To enable this theme for *all* users
  ...or ~/.gtkrc                To enable for just yourself.
  Alternatively, edit ~/.gtkrc so that it looks like:
      include "/usr/share/themes/QtCurve/gtk/gtkrc"

For GTK2:

       /usr/share/themes/QtCurve/gtk-2.0/gtkrc either
       /etc/gtk-2.0/gtkrc       To enable this theme for *all* users
  ...or ~/.gtkrc-2.0            To enbale for just yourself.
  Alternatively, edit ~/.gtkrc-2.0 so that it looks like:
      include "/usr/share/themes/QtCurve/gtk-2.0/gtkrc"


Now the only difference is in fonts. If you are using KDE and don't want to emerge the entire gnome meta-package, use the XFCE control panel instead:

emerge xfce4-panel

Under user interface, set font size and rendering.

Don't forget to run xfce-mcs-manager on startup, otherwise these changes will only work during this session:

echo "xfce-mcs-manager" > ~/.kde/Autostart/


There are other themes with the same look (Metatheme,keramig..)

-- 21:59, 16 Jun 2005 (GMT)Trained.Monkey

If you don't hate the Bluecurve that much, you can also settle with it. You need to emerge the redhat-artwork package. Note that you also need to have the relevant USE flags in make.conf (e.g if you have -kde, you won't get the Bluecurve KDE themes). It doesn't look entirely bad. Setting the KDE theme might be a bit tricky if you don't have kdebase installed. I have no idea about how to do that (I don't use the KDE desktop) without using the KDE Control Center (kcontrol). Any help would be apreciated, please see the discussion page of this article.

-- 12:20, 20 November 2005 (GMT)

There also is a QT version of the Industrial GTK-Style:, but there is no ebuild for it.


There's a GTK2 theme engine that uses the Qt functions to do the drawing. I.e.: all GTK 2 windows look exactly like the Qt windows. To install it, use:

emerge x11-themes/gtk-engines-qt

The easiest way to activate the new GTK theme is to use the gtk-chtheme tool:

emerge x11-themes/gtk-chtheme
gtk-chtheme (as user)

Call gtk-chtheme and select the Qt theme and your favorite font. After pressing OK, the tool writes a .gtkrc which makes all GTK 2 applications use the GTK-Qt theme, which actually uses Qt functions to draw the windows and therefore looks exactly like any Qt application.

32 bit apps on AMD64

Note: if anyone knows how to theme 32bit apps (AKA) firefox-bin on 64bit KDE system, please post your information here. How to install a 32bit GTK theme on 64bit system?

Answer: compile a theme in a 32bit environment (or looking for a pre-compiled 32bit theme and copy the libraries (there are 2 files but now I don't remember the extensions) in /emul/linux/x86/usr/lib/gtk/gtk-2.X.

Can we fill a bug for more 32bit precompiled theme (e.g. qtcurve...)

Murrine on firefox-bin Using the suggestion above I was able to compile the murrine engine for firefox-bin. The important step here is the ./configure. This should work for more than just Murrine, but is untested.

 tar xjvf murrine-0.31.tar.bz2
 cd murrine-0.31
 ./configure --prefix=/emul/linux/x86/usr --datadir=/usr  CFLAGS=-m32 LDFLAGS=-L/emul/linux/x86/usr/ GTK_LIBS=/emul/linux/x86/usr/lib32/
 make install

The reasoning behind the ./configure options is as follows:

  • --prefix=/emul/linux/x86/usr - This is where the root install directory is.
  • --datadir=/usr - This tells murrine to look in /usr/share/themes instead of /emul/linux/x86/usr/share/themes, so that theme changes made in 64bit apply to 32bit as well.
  • CFLAGS=-m32 - Compile the binary as 32bit.
  • LDFLAGS=-L/emul/linux/x86/usr/ - I am unsure if this is needed, but tells compiler to use libs in this directory.
  • GTK_LIBS=/emul/linux/x86/usr/lib32/ - This is needed. Tells the compiler to use the 32bit gtk libraries.
Personal tools