kgtk-qt3
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TDE Gitea b6f7aedbcd Reset submodule main/applications/kgtk-qt3/cmake to latest HEAD 4 dagen geleden
admin @ 68f23556e6 Reset submodule main/applications/kgtk-qt3/admin to latest HEAD 4 dagen geleden
cmake @ 0a40752779 Reset submodule main/applications/kgtk-qt3/cmake to latest HEAD 4 dagen geleden
common Rename KStandard for enhanced compatibility with KDE4 6 jaren geleden
gtk2 Fixed problem with dlsym lookup. This resolve bug 2477. Partially inspired by posts at https://stackoverflow.com/questions/15599026/how-can-i-intercept-dlsym-calls-using-ld-preload 8 maanden geleden
kdialogd3 Add CMakeL10n rules. Update translation templates. 1 maand geleden
po Update translation files 1 maand geleden
tqt Remove QT_CLEAN_NAMESPACE/TQT_CLEAN_NAMESPACE unnecessary define. 5 maanden geleden
.gitmodules Added common directories 7 jaren geleden
AUTHORS Initial CMake conversion attempt 7 jaren geleden
CMakeL10n.txt Add CMakeL10n rules. 1 maand geleden
CMakeLists.txt Avoid overriding user linker flags (LDFLAGS) for modules and shared libs 2 maanden geleden
COPYING * Added kgtk-qt3 8 jaren geleden
ChangeLog Rename KCModule, KConfig, KIO, KServer, and KSocket to avoid conflicts with KDE4 6 jaren geleden
ConfigureChecks.cmake Use common CMake tests. 1 week geleden
README Rename additional KDE strings 7 jaren geleden
TODO * Added kgtk-qt3 8 jaren geleden
config.h.cmake * Added kgtk-qt3 8 jaren geleden
kdialogd-wrapper * Added kgtk-qt3 8 jaren geleden
kgtk-wrapper qt -> tqt conversion: qtlib -> tqtlib libqt -> libtqt QTLIB -> TQTLIB LIBQT -> LIBTQT 4 maanden geleden
mangled.sh * Added kgtk-qt3 8 jaren geleden

README

Introduction
------------

KGtk is a quick-n-dirty hack to allow some Gtk2, Qt3, and Qt4
applications to use KDE3 or KDE4 file dialogs.

KGtk is composed of the following pieces:

1. An application called kdialogd. In this archive there are
two varieties of this - a KDE3 version, and a KDE4 version.
2. LD_PRELOAD libraries that are used to override the Gtk2, Qt3,
and Qt4 file dialogs.

If you start an application using the following command:
kgtk-wrapper gimp

...the the following occurs:

1. kgtk-wrapper determines whether the application is a Gtk2, Qt3,
or Qt4 application. It then sets the LD_PRELOAD environment
variable to point to the approriate KGtk library.
2. When the application now starts, it checks for the
TDE_SESSION_VERSION environment variable. If this is not set,
or is less than 4, then the KDE3 version of kdialogd is started,
else the KDE4 version is started.
3. When 'gimp' now tries to open a file dialog, the KGtk library
intercepts this, and asks kdialogd to open a file dialog instead.

There will only ever be one instance of kdialogd, and all apps communicate with the same
instance - and it termiantes itself 30 seconds after the last Gtk/Qt app has
disconnected. This timeout can be changed by editing kdialogdrc and setting/changing

[General]
Timeout=10


Installation
------------
As of v0.9.1, kgtk uses CMake in place of autotools.

Because KGtk includes code for Qt3/KDE3 and Qt4/KDE4, you need
to specify when building which variants you would like to build.
This is accomplished as follows:

1. mkdir build
2. cd build
3. cmake .. -DCMAKE_INSTALL_PREFIX=/usr
4. make
5. sudo make install

* -DKGTK_KDE3=true instructs CMake to create makefiles for the KDE3
version of KDialogD. Defaults to "true", use -DKGTK_KDE3=false
to turn off. Turning this on, sets -DKGTK_KDE4=false and
-DKGTK_QT4=false

* -DKGTK_KDE4=true would instruct CMake to create makefiles for
the KDE4 version of KDialogD. Defaults to "false".

* -DKGTK_GTK2=true instructs CMake to create makefiles for the Gtk2
version of the LD_PRELOAD library. Defaults to "true", use
-DKGTK_GTK2=false to turn off.

* -DKGTK_QT3=true instructs CMake to create makefiles for the Qt3
version of the LD_PRELOAD library. Defaults to "true", use
-DKGTK_QT3=false to turn off. Turning this on, sets
-DKGTK_KDE4=false and -DKGTK_QT4=false

* -DKGTK_QT4=true instructs CMake to create makefiles for the Qt4
version of the LD_PRELOAD library. Defaults to "false".

* For 64 bit systems, also append -DLIB_SUFFIX=64

Mixing '-DKGTK_KDE3=true' and '-DKGTK_KDE4=true' wont work, so compile the Qt3/KDE3,
and Qt4/KDE4 variants separately. Also, the 'build' folder *must* be cleaned before
switching to/from Qt3/KDE3 from/to Qt4/KDE4


So, to compile everything I suggest the following:

1. mkdir build3
2. cd build3
3. cmake .. -DCMAKE_INSTALL_PREFIX=/usr
[ This will build KDialogD for KDE3, and create the LD_PRELOAD libraries for
Qt3 and Gtk2 ]
4. make
5. sudo make install

6. set up Qt4/KDE4 env variables
7. clean build folder

8. mkdir build4
9. cd build4
10. cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DKGTK_KDE4=true -DKGTK_QT4=true -DKGTK_GTK2=false
11. make
12. sudo make install

NOTE: If you have both KDE3 and KDE4 installed, when calling cmake for KDE3, set TDEDIR to be empty.
e.g.
TDEDIR= cmake -DCMAKE_INSTALL_PREFIX=/usr -DKGTK_KDE4=false -DKGTK_QT4=false

Notes
-----

The library has been tested with the following applications:

Reported to work:

1. Firefox (1.5.x only, not 1.0.x)
2. Inkscape
3. GIMP
4. Kino
5. Eclipse
6. Azureus
7. Galde-2
8. Streamtuner
9. Avidemux2
10. Scribus
11. QComcBook
12. Planner 0.14: works, but asks twice for open file

Reported *not* working:

1. AbiWord