2011年3月6日日曜日

MobileOrg for Android を使ってみる

はじめに

私は自宅では emacs の org-mode を使って個人的な Todo などを管理しています。

外に持ち出す時は、整形したテキストをメールで携帯(android)に送るという めんどくさい事をしていたのですが、最近 MobileOrg という Android アプリを見付けました。

試してみたので紹介します。

MobileOrg for Android

この MobileOrg なんですが、 org ファイルを見易く表示してくれるだけでなく、 TODO の状態を変更(TODO=>DONE など)したり、ちょっとしたメモを取ったりできます。

さらにすごい事に、最近の org-mode には、 MobileOrg と連携する機能が あり、 MobileOrg 側での変更を取り込む事ができます。

MobileOrg は マーケット から入手できます。

Dropbox を使って PC <=> Android 連携

MobileOrg は PC の org-mode と連携するために、 WebDAV と Dropbox (オンラインストレージサービス) をサポートしています。 私は手軽そうな Dropbox を使いました。

Dropbox の Android 用クライントは マーケット から入手できます。 PC用のクライアントは各種ありますが、私は ここ に書かれているもの(Linux 用)を使いました。簡単そうなので。なんでもいいと思います。

これで PC に DropBox フォルダができるので、その下に mobileorg フォルダを作りました。(これだけで Dropbox にも反映されます。不思議。)

org-mode

MobileOrg を正しく使うには、 MobileOrg をサポートしたバージョンの org-mode が必要なようです。 emacs 23.2.1 に付属のものは古かったので、最新版をゲットしました。

私の org-mode 設定は下記のとおりです。

;; org-mode
(setq load-path (cons "/usr/local/share/emacs/site-lisp/org" load-path))
(require 'org-install)
(setq org-use-fast-todo-selection t)
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)

(setq org-directory "~/org")                            ; orgディレクトリ
(setq org-agenda-files `("~/org/main.org"))             ; orgファイル
(setq org-mobile-directory "~/Dropbox/mobileorg")       ; MobileOrg用ディレクトリ

(setq org-todo-keywords '((type "TODO(t)" "STARTED(s)" "WAITING(w)" "APPT(a)" "|" "DONE(d)" "CANCELLED(c)" "DEFERRED(f)")))
(setq org-tag-alist '(("ANY" . ?a) ("HOME" . ?h) ("WORK" . ?w) ("OUTGO" . ?o)))

さっそく org ファイルを

実験用に簡単な org ファイルを作ってみました。

# -*- org -*-
#+STARTUP: overview hidestars

* ToDo
** APPT 「江~姫たちの戦国~」見る
   SCHEDULED: <2011-03-06 日 20:00>
* Projects
** MobileOrg紹介記事を書く
   DEADLINE: <2011-03-06 日>
*** TODO DropBox アカウント入手
*** TODO 最新版 org-mode をゲット
*** TODO MobileOrg 設定
*** TODO MobileOrg 紹介記事をブログにアップする
* Reminder
** ホワイトデー
   SCHEDULED: <2011-03-14 月>

MobileOrg へ push

下記のコマンドで ~/Dropbox/mobileorg に MobileOrg 用の org ファイルが作られます。

M-x org-mobile-push

MobileOrg を設定

  1. Synchronization Mode を Dropbox に設定

    [Settings] => [Synchronization Mode] => [Dropbox]

  2. Dropbox にログイン

    [Settings] => [Configure Synchronizer Settings…] => [Login]

  3. org ファイルのパスを指定

    [Settings] => [Configure Synchronizer Settings…] => [Path] => [/mobileorg/index.org]

    index.org は org-mode が生成

  4. Sync

表示できました!

MobileOrg 側での変更を反映

MobileOrg で TODO アイテムをタップすると状態を変更できます。 いくつか DONE に変更してみます。

このままでは Dropbox に反映されないので、 Sync を行います。

さらに、 emcas で、次のコマンドを実行します。

M-x org-mobile-pull

Dropbox から変更を取ってきて org-mode の方に反映してくれます。

org-mode の活用の幅が一気にひろがりそうです。

その他

最初 main.org に下記のような行を入れていたのですが、 MobileOrg 側の TODO 状態が重複してしまいました。

#+TODO: TODO(t) STARTED(s) WAITING(w) APPT(a) | DONE(d) CANCELLED(c) DEFERRED(f)

代わりに、 .emacs に下記を加える事で解決しました。

(setq org-todo-keywords '((type "TODO(t)" "STARTED(s)" "WAITING(w)" "APPT(a)" "|" "DONE(d)" "CANCELLED(c)" "DEFERRED(f)")))

もうひとつ、

MobileOrg で Sync を行うと、表示が前回 Sync したときの状態に戻ってしまいます。(変更が戻ってしまう) org-mode で pull => push してから再度 Sync すると整合が取れた状態になります。

org-mode で pull するまでは Sync は行わない方がいいですね。

0 件のコメント:

コメントを投稿