GTK-QT Theme Engine

GTK1 Themes

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

4
5.0
Description:

This engine is for use by GTK applications running in KDE. It applies all Qt settings to the GTK application and uses Qt style plugins directly.

Please see http://gtk-qt.ecs.soton.ac.uk for more information and SVN instructions.
Last changelog:

12 years ago

Changes in 1.0:

New features and general improvements:

Ported the theme engine to Qt4. Qt3 styles are no longer supported in this version - this is only for users who have upgraded to KDE4 or who want to use Oxygen in their GTK applications.

i18n:

Updated .pot file
Czech translation by David Watzke
Italian translation by Davide Madrisan

(For older changelogs, see http://gtk-qt.ecs.soton.ac.uk/downloads.php)

CraigD

16 years ago

Why even have the KControl module? Surely the idea of this theme is to make GTK apps look more integrated, so why have a seperate "GTK" KControl section? Users really shouldn't need to care whether the app is GTK or Qt.

Also, in my GtkQt engine there's some code to control GTK2 icons sizes, toolbar size, and whether icons a are drawn on GTK2 pushbuttons. Pehaps you could use some of this?

Report

gnumdk

16 years ago

Why?

Because i use crystal theme(using qt engine) and so, i have to choose a different gtk theme.

http://kdelook.org/content/show.php?content=11264

Report

C

davidsansome

16 years ago

The KControl module is there so people can easily select the theme, without having to edit configuration files by hand or use switch2 (which I've found to be very buggy).

I've discovered a way to set GTK icons in code, so users don't need to fiddle with the rc file when they change theme in KDE. I'll be working on this for the next release, and I'll use your code as a reference :)

Report

wwwonka

16 years ago

When going to GTK selection KDE control center:
Debug:

(no debugging symbols found)...Using host libthread_db library "/lib/tls/libthread_db.so.1".
(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...[Thread debugging using libthread_db enabled]
[New Thread 1094934496 (LWP 12849)]
(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...0xffffe410 in ?? ()
#0 0xffffe410 in ?? ()
#1 0xbfffcb7c in ?? ()
#2 0x00000000 in ?? ()
#3 0x00000000 in ?? ()
#4 0x411e0e63 in __waitpid_nocancel () from /lib/tls/libpthread.so.0
#5 0x4076e0c2 in KCrash::defaultCrashHandler ()
from /opt/kde3/lib/libkdecore.so.4
#6
#7 0x413863f3 in strlen () from /lib/tls/libc.so.6
#8 0x40fdc982 in FcNameParse () from /usr/lib/libfontconfig.so.1
#9 0x404d2653 in KFontCombo::setCurrentFont ()
from /opt/kde3/lib/libkdeui.so.4
#10 0x419e1de1 in KcmGtk::load () from /opt/kde3/lib/kde3//kcm_kcmgtk.so
#11 0x419e2c46 in KcmGtk::KcmGtk () from /opt/kde3/lib/kde3//kcm_kcmgtk.so
#12 0x419e3973 in create_kcmgtk () from /opt/kde3/lib/kde3//kcm_kcmgtk.so
#13 0x41548c91 in KCModuleLoader::load () from /opt/kde3/lib/libkutils.so.1
#14 0x41548e9b in KCModuleLoader::loadModule ()
from /opt/kde3/lib/libkutils.so.1
#15 0x4150c88b in ConfigModule::module ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#16 0x414fecd6 in ModuleWidget::load ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#17 0x414ffe02 in DockContainer::loadModule ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#18 0x415000c2 in DockContainer::dockModule ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#19 0x41502bb7 in TopLevel::activateModule ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#20 0x41505884 in TopLevel::qt_invoke ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#21 0x40b2b31e in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#22 0x41500712 in IndexWidget::moduleActivated ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#23 0x4150238d in IndexWidget::moduleSelected ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#24 0x41502545 in IndexWidget::qt_invoke ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#25 0x40b2b31e in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#26 0x414f7832 in ModuleIconView::moduleSelected ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#27 0x414f789c in ModuleIconView::slotItemSelected ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#28 0x414f7a22 in ModuleIconView::qt_invoke ()
from /opt/kde3/lib/libkdeinit_kcontrol.so
#29 0x40b2b31e in QObject::activate_signal ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#30 0x40e7f145 in QListView::clicked () from /usr/lib/qt3/lib/libqt-mt.so.3
#31 0x40c12ab1 in QListView::contentsMouseReleaseEventEx ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#32 0x40c13464 in QListView::contentsMouseReleaseEvent ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#33 0x40577ecf in KListView::contentsMouseReleaseEvent ()
from /opt/kde3/lib/libkdeui.so.4
#34 0x40c43132 in QScrollView::viewportMouseReleaseEvent ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#35 0x40c44517 in QScrollView::eventFilter ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#36 0x40c14558 in QListView::eventFilter () from /usr/lib/qt3/lib/libqt-mt.so.3
#37 0x40b2bbbe in QObject::activate_filters ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#38 0x40b2bca0 in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#39 0x40b6079f in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#40 0x40ac9fef in QApplication::internalNotify ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#41 0x40acc1c8 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#42 0x407b6b34 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#43 0x40a65753 in QETWidget::translateMouseEvent ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#44 0x40a64345 in QApplication::x11ProcessEvent ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#45 0x40a78a85 in QEventLoop::processEvents ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#46 0x40ae1a21 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#47 0x40ae1866 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#48 0x40acb8df in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#49 0x4150669d in kdemain () from /opt/kde3/lib/libkdeinit_kcontrol.so
#50 0x400188c4 in kdeinitmain () from /opt/kde3/lib/kde3/kcontrol.so
#51 0x0804e801 in launch ()
#52 0x0804ef0c in handle_launcher_request ()
#53 0x0804f499 in handle_requests ()
#54 0x0804fc0a in main ()

Report

protoman

16 years ago

Most of my problems where solved with the new version, but mandrake configuration tools don't work anymore (what is a big problem).
Hope it gets fixed soon, gtkqt is great!

Report

verkel

16 years ago

Kcontrol module works fine but everything segfaults here too. I'm running Debian unstable.

Report

alcos

16 years ago

Same thing here. Running Gentoo with qt 3.2.1 and kde 3.2.3

Report

wsippel

16 years ago

Same problem here. Inkscape works, but Evolution and envy24control (control panel for ice1712 soundcards) always segfault. I'm running KDE 3.2.2 with QT 3.3.2 on gentoo/ AMD64.
The CVS version worked fine for me 'till 2004-06-14...

Report

jantille

16 years ago

You won't be surprised if I confirm the same crashes on Debian SID (KDE 3.2.3, QT 3.2.3).
Tried xchat.

Report

gnumdk

16 years ago

Yep, all is working :)

mandrake 10.0
kde 3.2.3 build with konstruct
gtk 2.2

but, tabs in gimp are really ugly :) I don't know what you have fix but it was better with previous version :)

Report

gnumdk

16 years ago

http://l3lx202.univ-lille3.fr/~bellegarde/qt-gtk.png

Here is a screenshot. Look at tabs in gimp, they look badly drawed with plastik.

Report

Phemt

16 years ago

giovanni@diver giovanni $ gimp-2.0
Segmentation fault

Report

gladiac

16 years ago

kcontrol crashes -> http://nopaste.php-q.net/65454

firefox, beep crashs too -> http://nopaste.php-q.net/65456

Using: KDE 3.2.3, QT 3.3.2, GTK-2.4.1

Report

Tanis

16 years ago

After installing it, i'm suffering from segmentation fault. I'm using kde 3.2.2 and gentoo.
I tried "strace pan" and it did this:

open("/usr/X11R6/lib/libart_lgpl_2.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/qt/3/lib/libart_lgpl_2.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/kde/3.2/lib/libart_lgpl_2.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libart_lgpl_2.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/X11R6/lib/libart_lgpl_2.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/libart_lgpl_2.so.2", O_RDONLY) = 10
read(10, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0D\21B"..., 512) = 512
fstat64(10, {st_mode=S_IFREG|0755, st_size=123148, ...}) = 0
mmap2(0x42112000, 121848, PROT_READ|PROT_EXEC, MAP_PRIVATE, 10, 0) = 0x417dd000
mmap2(0x417fa000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 10, 0x1c) = 0x417fa000
close(10) = 0
open("/usr/kde/3.2/lib/libkdefx.so.4", O_RDONLY) = 10
read(10, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\365\356"..., 512) = 512
fstat64(10, {st_mode=S_IFREG|0755, st_size=217180, ...}) = 0
mmap2(0x41ee4000, 218716, PROT_READ|PROT_EXEC, MAP_PRIVATE, 10, 0) = 0x4225c000
mmap2(0x42290000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 10, 0x33) = 0x42290000
close(10) = 0
open("/usr/lib/gconv/ISO8859-15.so", O_RDONLY) = 10
read(10, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\6\0\000"..., 512) = 512
fstat64(10, {st_mode=S_IFREG|0755, st_size=7644, ...}) = 0
mmap2(NULL, 10268, PROT_READ|PROT_EXEC, MAP_PRIVATE, 10, 0) = 0x42292000
mmap2(0x42294000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 10, 0x1) = 0x42294000
close(10) = 0
munmap(0x41f9a000, 76829) = 0
getpid() = 25665
open("/proc/25665/cmdline", O_RDONLY) = 10
read(10, "pan\0", 80) = 4
read(10, "", 80) = 0
close(10) = 0
getpid() = 25665
--- SIGSEGV (Segmentation fault) @ 0 (0) ---


Ufs, what can be the problem??
Do you need more data?

thanks a lot

Report

loocek

16 years ago

During make doing there is an error:
-c -o kcmgtk.lo `test -f 'kcmgtk.cpp' || echo './'`kcmgtk.cpp; \
then mv -f ".deps/kcmgtk.Tpo" ".deps/kcmgtk.Plo"; \
else rm -f ".deps/kcmgtk.Tpo"; exit 1; \
fi
kcmgtk.cpp: In function `KCModule* create_kcmgtk(QWidget*, const char*)':
kcmgtk.cpp:48: warning: unused parameter `const char*name'
kcmgtk.cpp: In member function `QString KcmGtk::env(QString)':
kcmgtk.cpp:163: error: `getenv' undeclared (first use this function)
kcmgtk.cpp:163: error: (Each undeclared identifier is reported only once for
each function it appears in.)
make[2]: *** [kcmgtk.lo] Błąd 1
make[2]: Opuszczenie katalogu `/home/temp/gtk-qt-engine-0.4/kcm_gtk'
make[1]: *** [all-recursive] Błąd 1
make[1]: Opuszczenie katalogu `/home/temp/gtk-qt-engine-0.4'
make: *** [all] Błąd 2

...and what now ??

Report

C

davidsansome

16 years ago

Sorry, I've updated and uploaded the fixed file.

Try downloading and compiling it again.

Report

Yaba

16 years ago

Eclipse 3 crashes occasionally when GTK-QT is used. I tried this with different KDE themes, always the same effect.

Report

Paradoxdruid

16 years ago

The last updated version was a little over two months ago (just checked the CVS to make sure).

Anyone know what happened?

Did David get sidetracked by other work? Is work still ongoing?

I LOVE this project, but there is still much that could be done to improve it (it's a pity I can barely program a shell script.. someday).

Report

gnumdk

16 years ago

> > I'll have 3 weeks off soon - so hopefully I'll be able to get lots of
> > work done on it, and fix the bugs you've been seeing :)

A mail of david...

But, it was 27 March :-/

David, please, continue your project or try to put it in kde main!

Report

omegaman

16 years ago

I tried to compile this on mandrake 10 CE, but just got a ton of errors. first during configure, it said that gtk+-2.0.pc was not found in the pkg-config path. I added that, and tried make. This is what i get:

=========
make[2]: Entering directory `/home/mike/gtk-qt-engine-0.3/Theme/gtk-2.0'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/mike/gtk-qt-engine-0.3/Theme/gtk-2.0'
make[2]: Entering directory `/home/mike/gtk-qt-engine-0.3/Theme'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/mike/gtk-qt-engine-0.3/Theme'
make[1]: Leaving directory `/home/mike/gtk-qt-engine-0.3/Theme'
make[1]: Entering directory `/home/mike/gtk-qt-engine-0.3'
/bin/sh ./libtool --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSTDC_HEADERS=1 -I. -I. -I/usr/lib/qt3/include/ -g -O2 -c qt_main.c
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSTDC_HEADERS=1 -I. -I. -I/usr/lib/qt3/include/ -g -O2 -Wp,-MD,.deps/qt_main.pp -c qt_main.c -fPIC -DPIC -o qt_main.lo
qt_main.c:1:21: gmodule.h: No such file or directory
In file included from qt_main.c:2:
qt_rc_style.h:1:23: gtk/gtkrc.h: No such file or directory
In file included from qt_main.c:2:
qt_rc_style.h:6: error: parse error before "qtengine_type_rc_style"
qt_rc_style.h:6: warning: data definition has no type or storage class
qt_rc_style.h:17: error: parse error before "GtkRcStyle"
qt_rc_style.h:17: warning: no semicolon at end of struct or union
qt_rc_style.h:23: warning: data definition has no type or storage class
qt_rc_style.h:24: error: parse error before "mark_type2"
qt_rc_style.h:24: warning: data definition has no type or storage class
qt_rc_style.h:25: error: parse error before "paned_dots"
qt_rc_style.h:25: warning: data definition has no type or storage class
qt_rc_style.h:30: error: parse error before "GtkRcStyleClass"
qt_rc_style.h:30: warning: no semicolon at end of struct or union
qt_rc_style.h:33: error: parse error before '*' token
qt_rc_style.h:50: error: `G_TOKEN_LAST' undeclared here (not in a function)
qt_rc_style.h:50: error: enumerator value for `TOKEN_RECTSCROLLBAR' not integer constant
In file included from qt_main.c:3:
qt_style.h:1:26: gtk/gtkstyle.h: No such file or directory
In file included from qt_main.c:3:
qt_style.h:6: error: parse error before "qtengine_type_style"
qt_style.h:6: warning: data definition has no type or storage class
qt_style.h:17: error: parse error before "GtkStyle"
qt_style.h:17: warning: no semicolon at end of struct or union
qt_style.h:22: error: parse error before "GtkStyleClass"
qt_style.h:22: warning: no semicolon at end of struct or union
qt_style.h:25: error: parse error before '*' token
In file included from qt_main.c:5:
qt_qt_wrapper.h:5:29: gtk/gtknotebook.h: No such file or directory
In file included from qt_main.c:5:
qt_qt_wrapper.h:66: error: parse error before '*' token
qt_qt_wrapper.h:67: error: parse error before '*' token
qt_qt_wrapper.h:68: error: parse error before '*' token
qt_qt_wrapper.h:69: error: parse error before '*' token
qt_qt_wrapper.h:70: error: parse error before '*' token
qt_qt_wrapper.h:71: error: parse error before '*' token
qt_qt_wrapper.h:72: error: parse error before '*' token
qt_qt_wrapper.h:73: error: parse error before '*' token
qt_qt_wrapper.h:74: error: parse error before '*' token
qt_qt_wrapper.h:75: error: parse error before '*' token
qt_qt_wrapper.h:76: error: parse error before '*' token
qt_qt_wrapper.h:77: error: parse error before '*' token
qt_qt_wrapper.h:78: error: parse error before '*' token
qt_qt_wrapper.h:79: error: parse error before '*' token
qt_qt_wrapper.h:80: error: parse error before '*' token
qt_qt_wrapper.h:81: error: parse error before '*' token
qt_qt_wrapper.h:82: error: parse error before '*' token
qt_qt_wrapper.h:83: error: parse error before '*' token
qt_qt_wrapper.h:84: error: parse error before '*' token
qt_main.c:7: error: syntax error before "void"
qt_main.c:8: error: parse error before '*' token
qt_main.c: In function `theme_init':
qt_main.c:11: error: `module' undeclared (first use in this function)
qt_main.c:11: error: (Each undeclared identifier is reported only once
qt_main.c:11: error: for each function it appears in.)
qt_main.c: At top level:
qt_main.c:15: error: syntax error before "void"
qt_main.c:21: error: parse error before "GtkRcStyle"
qt_main.c: In function `theme_create_rc_style':
qt_main.c:25: error: `NULL' undeclared (first use in this function)
qt_main.c:25: warning: assignment makes pointer from integer without a cast
qt_main.c:26: error: `GtkRcStyle' undeclared (first use in this function)
qt_main.c:26: error: parse error before ')' token
make[1]: *** [qt_main.lo] Error 1
==============================

Any ideas?

Report

Yaba

16 years ago

gmodule.h is missing. Install the glib2-devel package.

Report

bradx

16 years ago

This has become my new default GTK+ theme on all my KDE boxes. The unified look is beyond compare.

One thing though, can this theme change the color of menu item text when the menu item is highlighted?

Report

chulio

16 years ago

Replace the line 721 in qt_qt_wrapper.cpp with meepSlider->setOrientation((w>h)?Qt::Horizontal:Qt::Vertical);

Now vertical sliders get displayed as vertical:)

Report

dieu

16 years ago

ON Mdk 10 kde frezzes when ~/.gtk-2.0 file has -> gtk-theme-name = "Qt"
I have to comment, start kde and then put this line again to works, it works fine but this little issue is bad

Report

TimeRever

16 years ago

Indeed!

This is a nice thing but it frezzes KDE start on my system (Mandrake 10 CE) i wonder if it is a Mandrake or GTK-QT bug...

Anyway a fix would be very nice!

Report

12 years ago

Changes in 1.0:

New features and general improvements:

Ported the theme engine to Qt4. Qt3 styles are no longer supported in this version - this is only for users who have upgraded to KDE4 or who want to use Oxygen in their GTK applications.

i18n:

Updated .pot file
Czech translation by David Watzke
Italian translation by Davide Madrisan

(For older changelogs, see http://gtk-qt.ecs.soton.ac.uk/downloads.php)

12345678910
Be the first to comment
jesusda3rd
Jul 09 2020
originalseed
Oct 13 2011
tobgle
Feb 05 2010
ladykatlyn
Aug 25 2009
File (click to download) Version Description Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
1.1
updated Mar 10 2008
added Dec 31 2003
downloads 24h
0
mediaviews 24h 0
pageviews 24h 3