Specifying thumbnailers as a service

David Faure faure at kde.org
Sat Aug 30 00:12:01 BST 2008


On Friday 29 August 2008, Brian J. Tarricone wrote:
> Philip Van Hoof wrote:
> > On Fri, 2008-08-29 at 11:22 +0100, Rob Taylor wrote:
> > 
> >> I wonder if it'd make sense to allow multiple services to provide 
> >> thumbnailing for different mime types. This could be done by having the 
> >> thumbnailing service(s) register bus names of the form 
> >> org.freedesktop.thumbnailer.<mime type>, and the application could look 
> >> up the bus name for the mime type of the file it wishes to thumbnail, 
> >> and dbus-activation would take care of running the appropriate service.
> > 
> > This makes sense to me. 
> 
> This sounds overly complicated to me.  Now you're assuming that any app 
> that wants to load thumbnails is also capable of figuring out the 
> mime-type of the file it wants to load.  For a file manager, sure, but I 
> don't think any app that could potentially want thumbnails should have 
> to be mime-type-aware.

I agree, it's the job of that "service" to figure out the mimetype (and therefore the actual backend)
to use.  Also, I would hate seeing the output of `qdbus` be cluttered with 30 (*) thumbnail "services",
when all of this is in fact implemented by one process... It sounds to me like we want a
frontend and a backend API, i.e. a single entry point for requesting a thumbnail,
but the possibility for that thumbnail service to delegate the work to other implementations
for specific mimetypes. Hmm, maybe that's as simple as saying that:

org.freedesktop.thumbnailer.generic is used by default, and that one can
find out and call a org.freedesktop.thumbnailer.<specific mime type> service
if it doesn't know how to handle that mimetype itself.

This way we have mimetype determination in the main service (the .generic),
as well as all the "builtin" thumbnailers (*), while still allowing others to extend
the system with support for 3rd-party formats.
Obviously the .generic service would be the one provided by the desktop environment.

(*) KDE's kio_thumbnail supports 32 mimetypes out of the box -- and you get 36 more mimetypes
if you install koffice on top, so 68 in total. I don't want 68 dbus names on the session bus.

-- 
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).




More information about the kfm-devel mailing list