Org-modeとWunderlistを連携させるorg-wunderlist.elというのを作りました

Org-modeとWunderlistを連携させるorg-wunderlist.elというのを作りました

WunderListに乗りかえた

最近、タスク管理ツールのWunderListを使いはじめました。

Wunderlist | To-do リスト、リマインダー、タスク管理 – App of the Year!

以前は、いろいろと多機能な Toodledo を使っていたのですが、結局ほとんどの機能を使いきれていませんでした。

また、Toodledoは無料だとAPIの使用にいろいろと制限があったりして、不満も感じていました。

その点、WunderListはAPI使用の制限も緩く扱いやすいです。無料プランでファイルを保存できたりサブタスクも登録できるというメリットもあり、サクッと乗りかえてしまいました。

となると、やはりEmacsから触りたくなるもの。早速、Org-modeベースのクライアントを作ってみました。

org-wunderlistとは

Org-wunderlistは、Org-modeのタスクをWunderlistのタスクと関連づけて管理するためのアプリです。

Org-wunderlistでは次のような機能が提供されます。

  • WuderlistのタスクをOrg-modeに取り込み
  • Org-modeで変更したタスクをWunderlust側に反映
  • Wuderlistのタスクに添付されているファイルをダウンロード

    また、Wunderlistとの通信は、deferredにより非同期で実行されるため、軽快な動作が期待されます。

インストール

MELPAにぷるりくを出しているのですが、マージしてもらってません。いずれマージしてもらえるとは思いますが、マージまで待てないという方は、ファイルをダウンロードして良きにインストールしてください。

myuhe/org-wunderlist.el

初期設定

まず、Wunderlistにアプリを登録する必要があります。Wunderlistの登録サイトでアプリを登録してください。登録するとCliend IDとClient Secretが発行されますので、それぞれをinit.elなどの設定ファイルに以下のように書いておきます。

設定ファイルでは、その他にもWunderlistと関連づけるOrgファイル名、Wuderlistからダウンロードするファイルを格納するディレクトリ名なども設定する必要があります。

(require 'org-wunderlist)
(setq org-wlist-client-id "your-client-id"
      org-wlist-token "your-token"
      org-wlist-file  "~/.emacs.d/Wunderlist.org"
      org-wlist-dir "~/.emacs.d/org-wunderlist/")

以上で設定は終わりです。

コマンド

今のところ、以下の四つのコマンドがあります。

org-wlist-fetch

WunderlistにあるタスクをOrg-modeのタスクとして取りこみます。

org-wlist-post

ポイント上にあるタスクが変更されていた場合、変更点をWunderlist側に送信します。

org-wlist-post-all

タスクの変更が送信されてから、変更されたタスクを全てWunderlistに送信します。まだ安定しておらず今後改良していく予定です。

org-wlist-pos

Org-mode側で変更したタスクの序列をWunderlist側に反映させます。

今後の予定など

いつものごとく、安定して動作しない箇所が多々ありますので、しばらくはそういった不具合を直していこうかと思います。

Wunderlistのクライアントとしても、フォルダーをサポートしてなかったり、タグをサポートしてなかったりと、足りないところもあるのですが、今のとこ要望があれば対応したいと思っています。

その他、諸々ご意見ありましたらGitHubのIssuesにまでお願いします。