← Back to team overview

elementary-dev-community team mailing list archive

Re: Support for text buffers and streams in Contractor

 

Hey guys,

Remember Maemo <http://en.wikipedia.org/wiki/Maemo>? It had excellent
design and technology, way ahead of its time. Back in 2009 it had inertial
scrolling in GTK (GTK2!), slim scrollbars, AppMenu, awesome notification
system similar to pantheon-notify... And from this day on I seriously doubt
we ever came up with anything that Maemo folks didn't.

I've been searching for prior art on
https://blueprints.launchpad.net/elementaryos/+spec/better-remote-file-handlingand
guess what I've stumbled upon?
*Maemo had Contractor too.*

Their implementation is called "libcontentaction"; an overview and further
docs are available
here<http://harmattan-dev.nokia.com/docs/platform-api-reference/showdoc.php?pkn=libcontentaction&wb=daily-docs&url=Li94bWwvZGFpbHktZG9jcy9saWJjb250ZW50YWN0aW9u>,
and the source code is on
Gitorious<http://maemo.gitorious.org/maemo-af/libcontentaction>.
Libcontentaction can act on:

   - Regular files, selected by mimetype
   - URI schemes
   - Nepomuk/Tracker objects (yes, they had
LibraryKit<https://blueprints.launchpad.net/elementaryos/+spec/librarykit>too!
Unfortunately, Tracker doesn't scale to the desktop needs).
   - Text fragments matched by regexp (which is crazy/awesome)

In addition it supports calling actions over D-bus; it's probably a good
idea to reuse their time-proven format of describing them.

Notably, libcontentaction doesn't support data streams; it's bound to files
or tiny text snippets, pretty much like the current contractor. I've got
all the architecture for data streaming figured out, I wish we could
implement it...
-- 
Sergey "Shnatsel" Davidoff
OS architect @ elementary

References