calfwからGoogleカレンダーを編集するcalfw-gcal.elを書いてみた

こないだ@kiwanamiさんがリリースしたcalfw.elが本当に素晴らしいんです。
Emacsでカレンダーコンポーネントを作った – 技術日記@kiwanami
早速使わせてもらって、faceとかもちょこっと変えて今は↓のような感じになってます。
Emacs標準のcalendarは、ろくに起動することすらありませんでしたが、calfw.elは一等地キーバインドを割り当てて常用させてもらっています。いつも素敵なelispありがとうございます。
calfw.elの特に素敵なところはicalと連携できるところで、googleカレンダーを常用している僕としては非常にありがたいところです。
ただ、calfw.elはicalを表示するだけで、googleカレンダーの予定を編集したりすることはできないようです。ここまで来るとEmacsからgoogleカレンダーの予定も管理したい!!
てことで、calfw.elのインターフェイスからgoogleカレンダーを編集するcalfw-gcal.elなるものを書いてみました。
googleclのインストール、設定
calfw-gcal.elはgoogleカレンダーの編集をgoogleclを介して行うので、googleclをインストールしておく必要があります。googlecodeにあるので、まずはインストールしておきましょう。
Downloads – googlecl – Project Hosting on Google Code
インストール後は、認証作業が必要です。ターミナルからgoogleclの何かしらのコマンドを入力すると、ブラウザが開き、認証を促されますので、仰せのとおり認証しときましょう。
次にgoogleclの設定ファイルを編集しておく必要があります。ubuntuでは、~/.config/googlecl/configが設定ファイルとなっています。その中に次のような内容を追記、すでにある場合は適宜編集しておきます。
delete_by_default = True delete_prompt = False
calfw-gcal.elのインストール
次のサイトからcalfw-gcal.elを落としてきましてロードパスの通ったところに置けば、
後は.emacsなんかに次のように書いておきます。 以下の例では、カレンダーの用件入力バッファを開くキーに「a」をあてていますが、お好みで変えてください。
(require 'calfw-gcal) (define-key cfw:calendar-mode-map (kbd "a") 'cfw:gcal-main)
予定の追加
calfw.elから開いた*cfw-calendar*がカレントバッファになっている状態で、aキーを押すと*calfw:gcal-edit*バッファが開きます。
終日の予定を入力する場合は、その用件を入力するだけです。時間が決まっている場合は用件、開始時刻、終了時刻を半角空白区切りで入力します。次のような感じになると思います。”hoge 10:00 12:00″
開始時刻しかわかってない場合は”hoge 10:00″や”hoge 10″と書くだけでも良いです。終了時刻は自動的にその1時間後になるようです。
入力が終わった後はいつものC-c C-cで送信。*calfw:gcal-edit*バッファはお役目を果たし、勝手に閉じます。
予定の削除
削除したい用件がある日にフォーカスを合わせた状態で*calfw:gcal-edit*バッファを開きます。*calfw:gcal-edit*バッファに削除したい用件を入力し、C-c C-d押せば、予定が削除されます。
あとがき
いかがでしたでしょうか。できたばかりのcalfwですが、すでにマストelispとなってしまいました。まだ、いろいろと連携できるところもありそうですよね。例えばメーラーから直接calfwに内容を転送とかしてごにょごにょとか楽しそうです。夢が広がりまくります!!
参考にしたサイト
追記 2011-01-19
@pecculさんからキーバインドの設定が抜けてるとご指摘ありましたので、一部修正しました。 @pecculさん、ありがとうございます!!
-
前の記事
【音楽寸評】LITTLE CREATURES「LOVE TRIO」を聴いた 2011.01.13
-
次の記事
calfw.elのface設定 2011.01.19