How Can I change wallpaper from CLI?
Aaron J. Seigo
aseigo at kde.org
Thu Sep 6 16:03:56 BST 2012
On Thursday, September 6, 2012 14:22:28 Kevin Krammer wrote:
> Without checking the implementation details I would have guessed that
> "allowing content to be introspected" needs support for that introspection
> in every single application
in the same way that every application that opens files stored on disk needs to
support file open/read/write. in reality, very few of our applications make
direct libc calls to achieve this and instead rely on (much) higher level
libraries to keep such details at arms length.
we don't even need to patch every single application thanks to KDE's
libraries. by patching specific classes in our libs, we are able to get the
functionality in many of our apps instantly. example: we have written and
maintain a rather small patch that makes kparts use ResourceInstance. this
small change in one library makes every single kparts-using application
instantly work as desired. KDE's dev framework is pretty awesome like that.
some applications will require some patches, however. that's already been done
in dolphin (as one example), so we know how dificult it is: not very. these
patches are small and very simple to write (i gave an example code snippet in
a previous email), and only need to be done where other suitable frameworks
(e.g. kparts) are not used.
> and that support would need to be updated when
> the introspector changes the way it introspects.
that's why we have a library like libkactivities: to provide an easy to use,
long-lived API that hides the implementation details. the API in
libkactivities is built around the design ("expose what is being viewed in a
window") not the implementation ("we connect to a daemon using dbus and
then..").
the introspection mechanism is completely encapsulated in libkactivities and
no application need (or should) care now or in the future about the
implementation details. in frameworks 5 libkactivities will end up being a Qt-
only library. the dbus API is also available in a well-formed dbus xml service
definition so it can be readily reused by other applications which don't use
Qt.
so .. no. the individual application should never need to be updated even if
kactivitymanagerd changes, is replaced, or whatever.
--
Aaron J. 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-core-devel/attachments/20120906/39a99c4a/attachment.sig>
More information about the kde-core-devel
mailing list