libkwindowsystem in staging

Aaron J. Seigo aseigo at kde.org
Sun Feb 19 15:34:08 UTC 2012


hi all...

there is a new library in staging: libkwindowsystem

it pulls in kdeui/windowmanagement/ and Plasma::WindowEffects as well as a few 
x11 helper classes from kdeui.

these helper classes are public API in Platform 4.x but are only used by the 
classes in libkwindowsystem. as such i've made them private.


i did duplicate one class from kdeui as a short term measure by making a copy 
of the header and source file: KXErrorHandler. this is also used in 
kdeui/util/kmanagerselection.cpp.

KSelectionWatcher and KSelectionOwner are rather x11 specific concepts on the 
one hand .. and on the other they are only used by kde-workspace (so could be 
moved into there easily enough) and KMenuBar in kdeui.

they are used in KMenuBar for global menu integration. however, as global menu 
support is now in Qt 4.8 (and therefore will be in 5.0 as well) i'd like to 
propose the following:

* KMenuBar loses the KDE-specific implementation; this also cuts the dependency 
on KSelectionOwner/Watcher completely in kdelibs

* move kmanagerselection.h/cpp into libkworkspace in kde-workspace for the 4.9 
and use that in kde-workspace (pre-porting for Frameworks 5 :)

* remove kmanagerselection.h/cpp and kxerrorhandler.h/cpp from kdeui in 
frameworks branch

thoughts / input / objections?



as for the "definition of done" progress for libkwindowsystem the following are 
done: 

    No dependency on kdeui or kdecore
    Modularized CMakeLists.txt (afaik, anyways :)
    Does not install any Find*.cmake modules itself
    All Find*.cmake modules needed by the framework and used also by other 
frameworks have been upstreamed to extra-cmake-modules (via the kde-
buildsystem mailing list) or directly to cmake (via the cmake list)
    Follows the policy on directory organization
    Has an appointed maintainer
    Maintains source compatibility over kdelibs (modulo the above unused 
classes becoming private)

not done are:
    Installs a Config.cmake file for itself (due to not yet being clear on how 
this should look in the frameworks dir; i've done this for libkactivities, but 
i need to find out what, if anything, has changed there)
    Unit tested (pending upcoming work by mgraeslin)
    Does not use any Q_WS_* defines. (pending upcoming work by mgraeslin)

-- 
Aaron Seigo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20120219/70ed4e5c/attachment.sig>


More information about the Kde-frameworks-devel mailing list