You are using an obsolete web browser, or you have the page styles (CSS) disabled. You'll be able to access this site, but only a visually simplified version.

Plasma::DataEngine, GMail, Keep open… [Lancelot]

New features in the land of Lancelot

Keep open option – Lancelot doesn’t automatically close when you click something in it, but closes only when it loses the focus. You can set this option in the configuration dialogue, or you can hold Ctrl pressed while activating items in L.

The second thing is that the GMail plasma-lancelot DataEngine is working well and I’ve placed it in playground/plasma.

As you can see in the screenshot, it behaves differently than the Kontact engine in L – it shows a list of unread mails instead of the list of directories that have unread mails in them. The reason behind that is that I use GMail’s Atom feed to get the unread messages.

GMail

I have placed it in playground not because it is unfinished/unstable or anything, but rather because it is not intended for general use, and because there is no GUI for choosing the contact engines.

GMail in Lancelot

Well, not GMail per-se, at least not yet, but there is now a mechanism in Lancelot that allows you to make plug-ins for the Messages and Contacts lists.

It is based on Plasma‘s data engines, so you’ll not need to learn anything new in order to extend Lancelot.

Obviously, not all data engines can be used from L since not all data engines provide the list data structure. At the moment, in order to use a data engine in Lancelot, it needs to have the following structure:

  • .metadata -> lancelot
    • version = 1.0
    • modelTitle = Title (optional)
    • modelIcon = someIcon (optional)
  • data -> title
  • data -> description
  • data -> icon

As you can see above, the main data source is named “data” and it contains three string lists (QStringList) named “title”, “description” and “icon” which contain, respectively, titles, descriptions and icons of the items that should be shown in Lancelot.

The Plasma::DataEngine – Lancelot::ActionListModel bridge is not finished yet, it’ll need to use Plasma::Service in order to notify the DataEngine that the user has clicked the item. When I finish the infrastructure, I’ll make an example GMail data engine and upload it to SVN. I don’t think I’ll bother making anything else, that is your job ;)