Ocean Mist

24 Jan 2009

more on the rtm plasmoid

Posted by astromme

I’ve received some great feedback on the Remember The Milk plasmoid and it’s time to share some of more recent changes.

My university courses started last Monday, and with them the inevitable shrinking of free time to hack. However, the workload hasn’t quite piled on yet and I’ve spent some time in the last few days on the core of librtm. Its handling of tasks is vastly improved, and it is now possible to work directly with RTM::Task objects, as they will send their updates (i.e. new names, due dates, tags, etc…) to the server. When the server responds to these requests, the RTM::Session receives the replies and keeps the internal state of tasks consistent. It helpfully emits taskChanged(RTM::Task*) so that any frontend application can stay up-to-date in whatever way it handles tasks.

Current Plasmoid View

I also made some enhancements to the plasmoid, the most visible of which is the new task configuration widget, shown below. When you click on a task, a widget slides into view that lets you edit its attributes. Upon clicking save, this dialog slides away and the changes are sent (via RTM::Task, enabled by the changes I mentioned above) online. The view updates itself when it receives the updates from the RTM::Session by way of the dataengine. Additionally, there is now a visible indication (the colored header items) of priority.

Task Editor Interface

The plasmoid can be found in playground. To build it you need at least KDE 4.2rc, librtm (playground/libs/rtm) and the rtm dataengine (also in playground). Remember that it’s still in heavy development and I can’t guarantee that it won’t mess up your rememberthemilk account. Also, there are a number of visual bugs apparent even in the screenshots. I know about them, I’m working on them.

Tags: , , ,

Subscribe to Comments

15 Responses to “more on the rtm plasmoid”

  1. I’ll be trying this one out as soon as the exams are over!
    Thanks for it, if it wasn’t there I would have thought of making it myself because I think that it are these kind of plasmoids that are really useful.

    Great Job!


    Thomas Coopman

  2. very nice!
    (RTM remember me a lot the acronym RTFM -> read the f*****g manual :D )



  3. I was so glad when i have read this blog! I missed an RTM app or plasmoid in KDE. Thanks, i will test it as soon as i can!



  4. It’s very pretty. Does it have any layout problems when the task list is updated? I have had a lot of hassle from QGraphicsLinearLayout (and Grid) with NetworkManager-kde4.


    Will Stephenson

  5. will:

    I don’t have any layout problems that I know of, and I’m adding, removing, changing tasks with the applet. I use a Plasma::TreeView with a standard model/items and a custom delegate to do the fancy drawing. My layouting doesn’t change every and only contains the top label, tabbar, treeview, and bottom line edit.

    I am a little dissapointed that the Plasma::TreeView doesn’t let me do cool things like smoothly resize a single entry, but such is life. It wasn’t designed for that.



  6. Looking good!

    I created an RTM account just for this.


    Bruno Bigras

  7. I just wish that RTM had nested tasks…

    Do you know a way to implement this?


    Justace Clutter

  8. Good stuff…

    Am reluctant to install though, coz I cant find a simple instruction.

    could you make a .deb package for DL?

    or explain, what is meant by playground?

    Cheers and keep up the work PLEASE!



  9. @Justace

    Sorry, supporting nested tasks when RTM doesn’t would really muddle what is stored in RTM and wouldn’t allow for clean editing from other services or from RTM itself. I don’t plan to implement it.


    playground is an area in KDE’s source (http://websvn.kde.org/trunk/playground) that is generally highly experimental and not ready for production use. At the moment there aren’t any packages for the rememberthemilk plasmoid, and for now that’s a good thing. It’s still changing fast and in my opinion isn’t ready to be packaged.



  10. Thanks for the plasmoid.
    I posted a comment in an earlier blog post.
    Unfortunately it stopps with “no data yet. refreshing”. My login works and I have some tasks. Any idea where to look?



  11. To those having issues with “No data yet. Refreshing”, it’s due to some uncommitted changes I made. If you svn up now everything should be better.



  12. I’ve been using the rtm plasmoid for some days now and I love it! I do have some feature requests and remarks:
    - I believe tasks with the same priority should be sorted on due date
    - All tasks doesn’t show all tasks with me (bug?)
    - It would be great to have something like the overview window on rtm that shows tasks due today, tomorrow and overdue
    - Also adding tabs that hold a search for tags would be very cool!

    Overall these are just some comments, but you already did a great job on this plasmoid!


    Thomas Coopman

  13. I’m glad you’re liking it =).

    - Yes, it’s a (known) bug that all tasks doesn’t show all tasks. I’m not sure I want it as a tab.

    - I want to think about the interface for things like search, overview (which could be a customized search really), all tasks. I’m not sure more tabs are the right way to go.

    - Tasks of the same priority are supposed to be sorted by due date, but there’s some bug in how I’m sorting them. Not sure yet, but it is known.



  14. First of all great plasmoid!
    I’ve been experiencing a couple of issues though..
    1. Huge fonts in task lists. I’m not sure this is related to your code however, since your screenshots look different. The fonts are bigger than the tabs and priority ones.

    2. Smart lists are not showed. I can see their tabs, but the task lists are empty.

    Keep up the great work.

    (Is there a better place to fill these bug reports?)



  15. @astratto:

    I did have one build where I played with the font sizes. But it was only by one point and that’s all reverted now (well actually it’s now the date/tags that’s smaller)

    Yes, I know smart lists are not shown. The librtm library doesn’t support that yet, it’s more of a project and I’ll do it when I have some free time.

    I don’t have any other place for the bug reports atm…. but it would be nice. I wonder if there’s an easy and simple service…. The code is in kde’s svn but it’s not a released plasmoid and I’m pretty sure they generally don’t have separate “app” definitions for each plasmoid. If you have suggestions, I would love to hear them.



Leave a Reply