Lens for Ubuntu Unity (12.04) to browse tasks on Remember The Milk

UPDATE: latest version


This product uses the Remember The Milk API but is not endorsed or
certified by Remember The Milk.

Ubuntu 12.04 is out, so I decided to update my lens for remember the milk to work in Unity 5.

Actually, the lens uses singlet, by Michael Hall (many thanks for your work), so the transition to Unity 5 has been flawless.

While I was there, I made some minor improvements (e.g. the due dates are now printed in a prettier format) and added a feature to sort tasks.

As usual, I screencasted the lens at work:

If you want to try it, you can get the source code here on gitHub.

I wrote two simple scripts to install and launch the lens. You can find instructions on the README file.

8 thoughts on “Lens for Ubuntu Unity (12.04) to browse tasks on Remember The Milk

  1. So I installed via your instrcutions(as best as I can!) and I get this error trying to execute the launch.sh (already did the install.sh):
    sudo ./launch.sh

    (process:19326): libunity-WARNING **: unity-scope-factory.vala:78: Unable to search for scopes: No such file or directory
    ^CTraceback (most recent call last):
    File “./lens.py”, line 224, in
    run_lens(TasksLens, sys.argv)
    File “/usr/share/unity/lenses/tasks-lens/src/singlet/utils.py”, line 46, in run_lens

    1. Hi, thank you for trying the lens!

      I am getting that WARNING too, but that shouldn’t be relevant.
      Apart from that, did the lens work before you CTRL-C’d it?
      You should let it run in a terminal (with the warning message) and open the dash to see if something appears :).

      1. Ah, I forgot to say that you shouldn’t run the launch.sh script as supersuser, just execute
        without sudo :)!

  2. Installed the lens on Ubuntu 12.04. The lens appeared in the dash. But if I run ./launch.sh and then open the lens, “Search Tasks” is in progress for a few seconds and then nothing happens. If I open the lens without prior running launch.sh, it shows “Authorization required. Check your browser…” but nothing happens in a browser.
    I’m connected through proxy, if it matters.

    1. Some questions to debug this issue: did you logout after installing the lens? Do you have any errors on the terminal after launching the ./launch.sh script? I wasn’t able to reproduce your issue on Ubuntu 12.10 (fresh install of the lens worked fine). I don’t think the presence of the proxy can cause any problems.
      Ah, thank you very much for trying this software :)!

  3. Yes. I did logout after installing lens. After running ./launch.sh in terminal I have only one warning that is not important as you stated in a comment above(
    process:5160): libunity-WARNING **: unity-scope-factory.vala:78: Unable to search for scopes: No such file or directory
    After some time I get the following output

    Traceback (most recent call last):
    File “/home/also/remember-the-lens_12.04-master/src/singlet/lens/base.py”, line 186, in on_search_changed
    self.search(search_string, results)
    File “./lens.py”, line 149, in search
    self._handleSearch(search, model)
    File “./lens.py”, line 157, in _handleSearch
    if self._authManager.checkAndRequireAuthentication(self._rtm, model) == True:
    File “/home/also/remember-the-lens_12.04-master/src/AuthManager.py”, line 47, in checkAndRequireAuthentication
    self._rtmRequireAuthentication(rtmApi, model)
    File “/home/also/remember-the-lens_12.04-master/src/AuthManager.py”, line 65, in _rtmRequireAuthentication
    url, self.frob = rtmApi.authenticate_desktop()
    File “/home/also/remember-the-lens_12.04-master/src/rtmapi/__init__.py”, line 37, in authenticate_desktop
    rsp = self._call_method(“rtm.auth.getFrob”, api_key=self.api_key)
    File “/home/also/remember-the-lens_12.04-master/src/rtmapi/__init__.py”, line 81, in _call_method
    infos, data = self._make_request(method = method_name, **params)
    File “/home/also/remember-the-lens_12.04-master/src/rtmapi/__init__.py”, line 100, in _make_request
    headers={‘Cache-Control’:’no-cache, max-age=0′})
    File “/usr/lib/python2.7/dist-packages/httplib2/__init__.py”, line 1444, in request
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
    File “/usr/lib/python2.7/dist-packages/httplib2/__init__.py”, line 1196, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, headers)
    File “/usr/lib/python2.7/dist-packages/httplib2/__init__.py”, line 1170, in _conn_request
    File “/usr/lib/python2.7/dist-packages/httplib2/__init__.py”, line 798, in connect
    raise socket.error, msg
    socket.error: [Errno 110] Connection timed out

    I have zsh set as system shell. Tried running script explicitly by bash with the same result. Yesterday met other problems and it turned out that RTM servers were down for some time.
    Ah, Thank you very much for this software. It sounds very promising and I’ll try to fix my setup to try it.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s