Qt->glib main event loop patch (common main loop)
nf2
nf2 at scheinwelt.at
Thu Nov 10 14:09:44 GMT 2005
Michael Pyne wrote:
>On Sunday 06 November 2005 17:22, nf2 wrote:
>
>
>>Hi!
>>
>>I have rewritten my Qt->glib main event loop patch completely. It adds
>>an optional "-glibmainloop" switch to the ./configure script of Qt,
>>which integrates a modified QEventloop as a GSource into glib main loop.
>>
>>http://www.scheinwelt.at/~norbertf/common_main_loop/
>>
>>I have tested lots of KDE applications with the patched Qt, including
>>the whole KDE desktop. Seems to work quite well.
>>
>>
>
>I don't have time to test the patch, but the work seems very interesting, at
>least from a technical perspective.
>
>I'll admit that I don't see many (real-world) benefits yet, except perhaps for
>sharing KIO between KDE and GTK but perhaps you'll dazzle us with something
>whiz-tastic or something.
>
>Regards,
> - Michael Pyne
>
>
I think a common-main-loop would solve several problems of the free
desktop. Two use cases:
A) generic desktop adapter library
My favorite is "libdesktop-adapter", which exposes a standardized set of
desktop-features:
* file-dialogs
* vfs (simple features like download and upload file)
* ...
Applications load the appropriate desktop-adapter with dlopen(),
depending on the desktop they are running in.
libdadapt-kde-1.0.so
libdadapt-gnome-1.0.so
Therefore applications like OpenOffice.org, Mozilla, The Gimp,... would
automatically use KDE Filechoosers and KIO on KDE, Gnome-Filechooser and
Gnome-VFS on Gnome,...
"libdesktop-adapter" would create two classes of applications:
1) desktop specific apps: like konqueror, nautilus,... which link to
Filechoosers, VFS libraries directly.
2) Cross-desktop applications, which use the desktop-adapter libraries
to integrate well with any desktop, no matter which GUI-Toolkit they use.
B) GParts
Another interesting project which would benefit from a common main loop,
is GParts (http://gparts.blogspot.com/).
Dmitry M. Shatrov gave me some demo-code which worked well with the
patched Qt. One example embeds KTHML into a Gtk+ window. I put a
screenshot here: http://www.scheinwelt.at/~norbertf/common_main_loop/
Norbert
More information about the kde-core-devel
mailing list