KDE-Apps.org Applications for the KDE-Desktop 
 GTK-Apps.org Applications using the GTK Toolkit 
 GnomeFiles.org Applications for GNOME 
 MeeGo-Central.org Applications for MeeGo 
 CLI-Apps.org Command Line Applications 
 Qt-Apps.org Free Qt Applications 
 Qt-Prop.org Proprietary Qt Applications 
 Maemo-Apps.org Applications for the Maemo Plattform 
 Java-Apps.org Free Java Applications 
 eyeOS-Apps.org Free eyeOS Applications 
 Wine-Apps.org Wine Applications 
 Server-Apps.org Server Applications 
 apps.ownCloud.com ownCloud Applications 
 KDE-Look.org Artwork for the KDE-Desktop 
 GNOME-Look.org Artwork for the GNOME-Desktop 
 Xfce-Look.org Artwork for the Xfce-Desktop 
 Box-Look.org Artwork for your Windowmanager 
 E17-Stuff.org Artwork for Enlightenment 
 Beryl-Themes.org Artwork for the Beryl Windowmanager 
 Compiz-Themes.org Artwork for the Compiz Windowmanager 
 EDE-Look.org Themes for your EDE Desktop 
 Debian-Art.org Stuff for Debian 
 Gentoo-Art.org Artwork for Gentoo Linux 
 SUSE-Art.org Artwork for openSUSE 
 Ubuntu-Art.org Artwork for Ubuntu 
 Kubuntu-Art.org Artwork for Kubuntu 
 LinuxMint-Art.org Artwork for Linux Mint 
 Arch-Stuff.org Art And Stuff for Arch Linux 
 Frugalware-Art.org Themes for Frugalware 
 Fedora-Art.org Artwork for Fedora Linux 
 Mandriva-Art.org Artwork for Mandriva Linux 
 KDE-Files.org Files for KDE Applications 
 OpenTemplate.org Documents for OpenOffice.org
 GIMPStuff.org Files for GIMP
 InkscapeStuff.org Files for Inkscape
 ScribusStuff.org Files for Scribus
 BlenderStuff.org Textures and Objects for Blender
 VLC-Addons.org Themes and Extensions for VLC
 KDE-Help.org Support for your KDE Desktop 
 GNOME-Help.org Support for your GNOME Desktop 
 Xfce-Help.org Support for your Xfce Desktop 
openDesktop.orgopenDesktop.org:   Applications   Artwork   Linux Distributions   Documents    Linux42.org    OpenSkillz.com   


- Content .- Fans (12) . 

KGtk (Use KDE Dialogs in Gtk Apps)


KDE Improvement

Score 85%
KGtk (Use KDE Dialogs in Gtk Apps)

KGtk (Use KDE Dialogs in Gtk Apps)

KGtk (Use KDE Dialogs in Gtk Apps)

Link:  http://
Downloads:  17292
Submitted:  Mar 6 2006
Updated:  Nov 3 2011


This is a quick-and-dirty LD_PRELOAD hack that allows *some* Gtk applications to use KDE's file dialogs when run under KDE.

The Gtk file chooser functions have been overridden to communicate with this KDE module/application.

After compiling and installing this, you can run Gtk applications in 2 ways:

A. call /usr/local/bin/kgtk-wrapper gimp

B. i. Create a symbolic link from the wrapper script to your application, e.g.
ln -s /usr/local/bin/kgtk-wrapper /usr/local/bin/gimp
ii. Make sure /usr/local/bin is before /usr/bin (or wherever gimp is installed) in your $PATH
iii. Now simply run 'gimp' - this should find the wrapper script first.

If this works OK, then edit the .desktop file (e.g. /usr/share/applications/gimp.desktop) to have "Exec=/usr/local/bin/[appname]" instead of "Exec=[appname]", e.g. for gimp.desktop this would be:

Exec=/usr/local/bin/gimp-remote-2.2 %U


Exec=/usr/local/bin/kgtk-wrapper gimp-remote-2.2 %U

So far I have tested this with the following applications:

1. Kino. Works perfectly - in fact Kino was my main reason for doing this.
2. Firefox. Works with Firefox 1.5, but *not* Firefox 1.0.x
3. GIMP. Again, seems to work just fine. However, there is no progress bar on file loading - as GIMP uses a progress bar embedded in the file chooser.
4. Inkscape. Works OK - at least 0.43
5. Streamtuner - the folder browser button works.
6. AbiWord - does *not* work. Don't even try...
7. Glade2. Seems to work OK, however I have had it crash when loading Kino's .glade file, but not always. So I'm not sure if this is Glade's fault, or mine.
8. Eclipse. Will work only if dlsym can be overriden

As the only Gtk apps I use are Kino, GIMP, and a little of Firefox, this library works great for me. Your millage may vary, and please note that this is only a quick hack to get things working now for me. I'm not sure how stable it will be under heavy usage, so don't be surprised if it breaks. However, if it does break - the only thing that should happen is that the Gtk apps will fall back to using the standard Gtk dialogs.

p.s. Before anyone asks, as they always do:
Widget style: QtCurve, works for KDE and Gtk (also does KDE->Gtk icon mapping). This is set on the "Clear" variation.
Window decoration: Crystal with Knifty buttons
Font: Verdana. However, I have recompiled FreeType with the TrueType byte encoder enabled - this give great looking non anti-aliased fonts (otherwise they look *horrible*)


1. Gtk3 support.
2. Better, and safer, lookup of file filters.
3. Correctly determine size of string needed for pidfile!
4. Add thunderbird, and LibreOffice apps, to list of gtk2 apps.
5. Cleanup usless stuff; remove kdialogd3, qt3, qt4, kgtk2-wrapper, kqt3-wrapper, kqt4-wrapper.
6. Merge kgtkXX-wrapper scripts into kgtk-wrapper
7. Install kdialogd4 into KDE4 libexec dir.
8. Fix crash where client is terminated whilst file dialog is open.
9. Configurable debug. Pass cmake -DKGTK_DEBUG=true
When starting app, set KGTK_DEBUG env var, e.g.

KGTK_DEBUG=0x10 kgtk-wrapper lowriter

0x01 Connection debug
0x02 General debug
0x04 Filter get and set debug
0x08 Filter creation debug
0x10 Custom widget debug
0x20 dlsym debug
Values may be combined

10. If LibreOffice is detected (app is libreoffice, lowriter, etc.) then also set the OOO_FORCE_DESKTOP env var to gnome, so that we get nicer
11. When passing filters to KFileDialog, replace / with \/
12. Make filter combo non-editable.
13. When returning selected filter to Gtk app, also return the filter name and not just the file pattern. This way if two filters have the same file pattern the corrent one can be selected.
14. Support for checkbox custom widgets.
15. Save location history per app.

Send to a friend
Other  Apps  from CraigD
Report inappropriate content

goto page: prev  ... 24  25  26  27  28  29  30  31  32  33  34 


 abgx360gui doesn't close

 by warnec on: Aug 23 2009
Score 50%

Hi. Abgx360gui is a tool to verify Xbox 360 game backups to see if they are safe to play online. It works well when I start it with "kgtk-wrapper abgx360gui" and I have the file selection dialog from kde4, but after I open it, and then close it, I can not close abgx360gui normallly using the cross in the window tab, but must use Ctlr+C in the Konsole window. When I open it using kgtk and DON't open file dialog, just open the main window, it closes fine.

Notes displayed in Konsole after opening file chooser:

(abgx360gui:8515): Gdk-CRITICAL **: gdk_x11_atom_to_xatom_for_display: assertion `atom != GDK_NONE' failed

(abgx360gui:8515): Gdk-CRITICAL **: gdk_x11_atom_to_xatom_for_display: assertion `atom != GDK_NONE' failed

then, when I close the file chooser using "X" in the tab bar:

(abgx360gui:8515): Gdk-CRITICAL **: gdk_x11_atom_to_xatom_for_display: assertion `atom != GDK_NONE' failed

(abgx360gui:8515): Gdk-CRITICAL **: gdk_window_set_modal_hint: assertion `GDK_IS_WINDOW (window)' failed

And only KeyboardInterrupt works to close it.

Reply to this


 Crash problems? workaround!

 by crissi on: Oct 6 2009
Score 50%


I have problems with 0.10.0 and 0.10.1. Kdialogd crashes.

But after a whiole searching I found a workaround:

0.9.4 works without crash.

If I have time, i'll look into the code of 0.10.1 later.

Reply to this


 Can't compile

 by KuramuHasukaru on: Oct 12 2009
Score 50%

Having Kde dialogs instead of the ugly Gtk dialogs would be great, but sadly, I can't compile it :(

I'm using the latest Kde 4.3.2 and Qt 4.5.3, and below is the output I get. For whatever odd reason, it seems to be unable to find Qt 4 and Kde 4:

$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DKGTK_KDE4=true -DKGTK_QT4=true -DKGTK_GTK2=false -DLIB_SUFFIX=64
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for getpeereid
-- Looking for getpeereid - not found
** INFORMATION: Compiling Qt4/KDE4, Qt3/KDE3 disabled
-- Found Automoc4: /usr/bin/automoc4
-- Found Perl: /usr/bin/perl
-- KDE4 not found, because Qt4 was not found
** ERROR : Could not locate Qt4/KDE4 headers, KDialogD for KDE4 will not be built.
** ERROR : Could not locate Qt4 headers, Qt4 LD_PRELOAD library will not be built.

** INFORMATION: Using installation prefix: /usr
-- Configuring done
-- Generating done

Reply to this


 malloc error

 by SurJector on: Nov 25 2009
Score 50%


you miss two bytes in the malloc in getPidFilename() and kdialogd4 crashes reliably.

Could you apply the following (or similar) patch (sorry, space is garbled) ?

--- common/common.h.orig 2009-11-25 10:09:23.000000000 +0100
+++ common/common.h 2009-11-25 10:14:10.000000000 +0100
@@ -49,7 +49,7 @@
if(!tmp || !tmp[0])
tmp=(char *)"/tmp";

- pidfile=(char *)malloc(strlen(tmp)+strlen(PID_DIR)+strlen(user)+strlen(PID_NAME)+1);
+ pidfile=(char *)malloc(strlen(tmp)+strlen("/")+strlen(PID_DIR)+strlen(user)+strlen("/")+strlen(PID_NAME)+1);

#ifdef __KDIALOGD_H__
// We are kdialogd - so create socket folder if it does not exist...
@@ -57,7 +57,7 @@

- /* CPD: TODO get dispaly number! */
+ /* CPD: TODO get display number! */
sprintf(pidfile, "%s/%s%s/%s", tmp, PID_DIR, user, PID_NAME);
@@ -89,7 +89,8 @@
if(!tmp || !tmp[0])
tmp=(char *)"/tmp";

- sock=(char *)malloc(strlen(tmp)+strlen(SOCK_DIR)+strlen(user)+strlen(SOCK_NAME)+4+32);
+ /* 18446744073709551616 = 2 to the 64 = enough for display nr */
+ sock=(char *)malloc(strlen(tmp)+strlen("/")+strlen(SOCK_DIR)+strlen(user)+strlen("/")+strlen(SOCK_NAME)+strlen("18446744073709551616")+1);

#ifdef __KDIALOGD_H__
// We are kdialogd - so create socket folder if it does not exist...
@@ -97,7 +98,7 @@

- /* CPD: TODO get dispaly number! */
+ /* CPD: TODO get display number! */
sprintf(sock, "%s/%s%s/%s-%d", tmp, SOCK_DIR, user, SOCK_NAME, 1);

Reply to this


 Doesn't compile anymoire

 by tigerfoot on: Mar 7 2010
Score 50%
Ioda-Net Sàrl

With the lastest 0.10.1 with a 4.3.5 kde version I've got error in compile

Scanning dependencies of target kdialogd4_bin_automoc
Generating kdialogd.moc
[ 0%] Built target kdialogd4_bin_automoc
Scanning dependencies of target kdialogd4_bin
[ 8%] Building CXX object kdialogd4/CMakeFiles/kdialogd4_bin.dir/kdialogd4_bin_automoc.o
[ 16%] Building CXX object kdialogd4/CMakeFiles/kdialogd4_bin.dir/kdialogd.o
/home/bruno/src_tmp/KGtk-0.10.1/kdialogd4/kdialogd.cpp: In member function ‘void KDialogD::deleteConnection(KDialogDClient*)’:
/home/bruno/src_tmp/KGtk-0.10.1/kdialogd4/kdialogd.cpp:257: warning: suggest explicit braces to avoid ambiguous ‘else’
/home/bruno/src_tmp/KGtk-0.10.1/kdialogd4/kdialogd.cpp: In member function ‘void KDialogD::timeout()’:
/home/bruno/src_tmp/KGtk-0.10.1/kdialogd4/kdialogd.cpp:268: warning: suggest explicit braces to avoid ambiguous ‘else’
/home/bruno/src_tmp/KGtk-0.10.1/kdialogd4/kdialogd.cpp: At global scope:
/home/bruno/src_tmp/KGtk-0.10.1/kdialogd4/kdialogd.cpp:667: warning: unused parameter ‘modal’
Linking CXX executable kdialogd4
[ 16%] Built target kdialogd4_bin
Scanning dependencies of target pofiles
[ 16%] Generating es.gmo
/home/bruno/src_tmp/KGtk-0.10.1/kdialogd4/po/es.po: AVERTISSEMENT : Le jeu de caractères « CHARSET » n'est pas un nom d'encodage portable.
La conversion vers le jeu de caractères de l'utilisateur peut ne pas fonctionner.
[ 16%] Generating en_GB.gmo
[ 16%] Generating cs.gmo
[ 16%] Generating fr.gmo
/home/bruno/src_tmp/KGtk-0.10.1/kdialogd4/po/fr.po: AVERTISSEMENT : Le jeu de caractères « CHARSET » n'est pas un nom d'encodage portable.
La conversion vers le jeu de caractères de l'utilisateur peut ne pas fonctionner.
[ 16%] Generating de.gmo
[ 16%] Generating ru.gmo
[ 16%] Generating pt_BR.gmo
[ 16%] Generating zh_CN.gmo
/home/bruno/src_tmp/KGtk-0.10.1/kdialogd4/po/zh_CN.po: AVERTISSEMENT : Le jeu de caractères « CHARSET » n'est pas un nom d'encodage portable.
La conversion vers le jeu de caractères de l'utilisateur peut ne pas fonctionner.
[ 83%] Built target pofiles
[ 91%] Generating mangled.h
Scanning dependencies of target kqt4
[100%] Building CXX object qt4/CMakeFiles/kqt4.dir/kqt4.o
In file included from /home/bruno/src_tmp/KGtk-0.10.1/qt4/kqt4.cpp:54:
/home/bruno/src_tmp/KGtk-0.10.1/common/connect.h:98:5: warning: #warning "Using sloppy security checks"
/home/bruno/src_tmp/KGtk-0.10.1/qt4/kqt4.cpp: In function ‘const char* getAppName(bool)’:
/home/bruno/src_tmp/KGtk-0.10.1/qt4/kqt4.cpp:112: error: invalid conversion from ‘const char*’ to ‘char*’
make[2]: *** [qt4/CMakeFiles/kqt4.dir/kqt4.o] Erreur 1
make[1]: *** [qt4/CMakeFiles/kqt4.dir/all] Erreur 2
make: *** [all] Erreur 2

Did you have an idea ?

Nota for the po, they are not all utf-8 that why we get warnings

Reply to this


 Re: Doesn't compile anymoire

 by tigerfoot on: Aug 2 2010
Score 50%
Ioda-Net Sàrl

change in KGtk-0.10.1/qt4/kqt4.cpp

-char *slash
+const char *slash

compile now under kde4.4.4

Reply to this



 by k4in on: May 21 2010
Score 50%

can you add support for chromium browser?

Reply to this

goto page: prev  ... 24  25  26  27  28  29  30  31  32  33  34 

Add commentBack

How do you like Plasma 5?
 The best KDE Desktop ever.
 Definitely a nice improvement.
 Not decided yet. Haven't tried it yet.
 I do not like some of the changes.
 KDE is taking the wrong way.
 I am still sticking with KDE 3.5.
 I have no opinion, but wanted to vote anyway.

 Who we are
More about us
Frequently Asked Questions
Updates on identi.ca
Updates on Twitter
Content RSS   
Events RSS   

Add App
Public API
About KDE-Apps.org
Legal Notice
Spreadshirt Shop
CafePress Shop
Sponsor us
Report Abuse

Copyright 2003-2016 KDE-Apps.org Team  
All rights reserved. KDE-Apps.org is not liable for any content or goods on this site.
All contributors are responsible for the lawfulness of their uploads.
KDE and K Desktop Environment are trademarks of KDE e.V.