How Can I change wallpaper from CLI?

Aaron J. Seigo aseigo at kde.org
Thu Sep 6 12:50:19 BST 2012


On Thursday, September 6, 2012 12:47:16 Kevin Krammer wrote:
> The problem with that (as far as I can tell) is that this would not be
> available to non-KDE apps, which (again as far as I understand) is the case
> of the thread starter.

if the issue was non-KDE apps, this would be an interesting starting point for 
discussion.

but the discussion moved to the example of a KIPI plugin for digikam. that is 
a KDE application.

once we get our own house in order, then i'd love to discuss about how we 
interface with the rest of the world.

> D-Bus interfaces have the advantage of being accessible from almost any
> program technology stack, most times even from shell scripts.

qdbus org.kde.ActivityManager /ActivityManager | grep Resource

we're smart enough to implement things in ways that aren't completely stupid. 
;)


and really this is a design question ("is associating URIs and metadata with 
windows a good / better solution? if so, how?"), not an implementation problem 
("what is used for remote procedure calls?"). 

even if the implementation is bad (though i don't believe it is), we can 
usefully improve the implementation as long as we have a good design to start 
with; the reverse is not true however -> design flaws don't get fixed by 
improving the implementation of them.

currently when it comes to things like setting wallpapers, our design sucked.

so some of us worked on improving that, and if you look at its use in Plasma 
Active you can judge for yourself whether or not it is an improvement or not.

and now we're asking the rest of our community to use that improved design 
broadly including on the desktop.

> > show me a dbus api for wallpaper setting that can do that. :)
> 
> Just curious: what kind of non-D-Bus communication mechanism is used by
> that?

it uses DBus. the differentiation is that it isn't focused on "making something 
to set a wallpaper" but focused on "allowing content to be introspected so 
that things can be done for/with that content".

making an API for "setting wallpaper" is not only fragile (see the differences 
in KDesktop 1, 2, 3 and Plasma; see the differences for windows, mac, xfce, 
gnome, etc) it is also very limited in scope and needs to be upkept in every 
single application.

the design concept of "expose the URI of the content this application window 
is showing" suffers none of those limitations. and it lets us do the trivial 
things like "set that as a wallpaper" easily: it's writing one plugin for one 
app (SLC) instead of writing one plugin for every single application out 
there.

really, it's the same thinking that went into things like kparts.

-- 
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/6cff9f5d/attachment.sig>
-------------- next part --------------

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<


More information about the kde-core-devel mailing list