Proposed draft for the thumbnail D-Bus specification
faure at kde.org
Tue Sep 9 02:02:39 PDT 2008
On Wednesday 03 September 2008, Philip Van Hoof wrote:
> Not supported:
> * Canceling of activated requests. This is too hard to implement.
> Functions like pthread_cancel are a no-option (leaks memory) and
> starting and killing processes is not something I want to require by
> the specification. The only viable option would be to adapt all
> thumbnail algorithms to have meaningful cancel points. This is not
> something I want to require from the specification.
> I also looked at the current thumbnailing code of a few filemanagers.
> Although Nautilus's private library has a load_image_cancel method, it
> doesn't seem to be called (which makes me wonder why it was never
> removed from nautilus-thumbnail.c)!
> Nautilus's remove_from_queue and remove_all_from_queue are however
> used by Nautilus itself. Therefore is this functionality available in
> the D-Bus API.
You assume a thread-based implementation of the tumbnailer.
KDE uses a process-based implementation, and therefore canceling activated requests
is most certainly doable - and needed for better user interaction indeed; e.g. if previewing
a huge image takes a lot of time and RAM, the user can just abort previews by pressing
Esc or the stop button in the filemanager. Or with the preview in a tooltip, we certainly
don't want to be doing 100 useless previews for files which the tooltip was on, but isn't
on anymore, while moving the mouse.
David (who wishes he had more time for looking more into this spec)
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 xdg