2011年11月01日

emacsのカレンダーでgoogle calendarを読み込む

emacsにもだいぶ慣れてきた。
calender機能があるのだが、今いち使い道がないと思っていたが、google calendarに登録したイベントが 読み込む方法がわかったので、俄然使える機能になった。
ブラウザを起動せず、emacsを終了しなくても、スケジュール確認、登録・削除ができる。
これはすばらしい。
cal1

設定方法は、以下を元ネタにしている。
http://code.google.com/p/emacs-google/wiki/googlecalendar

2 インストール方法

  1. iCalendar.elは、emacsのelispディレクトリに置く
    $ cp icalendar.el ~/.emacs.d/
  2. google-emacsもemacsのelispディレクトリに置く
    $ cp -r google ~/.emacs.d/
  3. gdataは、pythonでインストール 展開したディレクトリで、
    $ sudo python setup.py install

3 設定ファイル

~/.emacsに以下を追記する


;; 1) icalender.elの読み込み
(setq load-path (append (list (expand-file-name "~/.emacs.d/icalendar")) load-path))
(require 'icalendar)
;----
;; 2-1) google calender関連elispの読み込み
(setq load-path (append load-path (list (expand-file-name "~/.emacs.d/google"))))
(require 'google-calendar)
;----
;; 2-2) google calendarの設定
(setq google-calendar-user           "GOOGLE USER ID")         ;;; GOOGLE USER
(setq google-calendar-code-directory "~/.emacs.d/google/code") ;;; PATH TO THE PYTHON CODE
(setq google-calendar-directory      "~/tmp")               ;;; TEMPORARY DIRECTORY
(setq google-calendar-url            "https://www.google.com/calendar/ical//…../basic.ics")  ;;; URL TO YOUR GOOGLE CALENDAR
(setq google-calendar-auto-update    t )                    ;;; DEFINE IF THE CALENDAR IS DOWNLOADED AFTER EVERY MODIFICATION

GOOGLE USER IDは、@gmail.comの@マーク前の単語を書いておく。
code-directoryとcalendar directoryは、適宜書き換える。~/tmpとしたら、忘れずに~/tmpを作っていくこと。 google-calendar-urlは、対象のgoogleカレンダーの設定画面で、以下の限定icalのURLを貼り付ける。

ical_link

 

.emacsに以下を書いておくと、emacsの起動のたびにカレンダーイベント情報がダウンロードされる。 そのため起動は遅くなる。

(google-calendar-download)

4 使い方

主たるキーは以下のとおり。

M-x calenderカレンダーバッファを作成しカレンダー表示
M-x google-calendar-downloadカレンダーイベントのダウンロード
C-c C-g d同上
C-c C-g q quick event add
C-c C-g adetail event add
M-x google-calendar-delete-eventevent delete
dその日の予定を表示
m予定の入っている日を色付けする


sylphide_ffr31mr at 23:07コメント(4)トラックバック(0)技術  

トラックバックURL

コメント一覧

1. Posted by minoru   2012年09月28日 16:02
5 初めまして、貴重なTipsをありがとうございます。

別のスクリプトもあるようですが、emacs固有のcalendarとgoogleCalendarとの同期の方が実用的なので導入したいと挑戦しています。
mac OSX 10.6.8 で、一応動いているみたいですが、予定表示の同期が取れていないようで反映されません。
C-c C-g d,C-c C-g q,C-c C-g a の操作は問題なく出来ています。
d.mに関しては、emacs calendar の動作のままで、当方diaryは使っていないので、diaryファイルがないとのえらメッセージが出ます。
いろいろ、試行錯誤していますが解決出来ず、ご質問させていただきました。
環境が違うかも知れないのですが・・・
pythonは2.7にバージョンアップしてあります。
よろしくお願いいたします。
2. Posted by minoru   2012年09月29日 10:46
連投で失礼します。

emacs calendar のみでは問題なく diaryファイルは生成できています。
ところが、google-clendar-download を実行した瞬間に、diaryファイルは消えて、diary.backup とリネームされてしまいます。
google-calendar.el に起因していることは分かったのですが・・・

3. Posted by minoru   2012年09月29日 12:01
何度もすみません。自己解決しました。
Mac OSX 10.6.8 にはwgetが入っていませんでした。
wget をインストールしたらすんなりOK。感謝!
4. Posted by やすき   2012年10月19日 17:33
コメントに気づかず、お返事遅くなりました。
(めったにコメントはつかないもので・・・)

無事に導入できたようで何よりです。
素敵なEmacsライフをお楽しみください。

コメントする

名前
URL
 
  絵文字
 
 
記事検索
最新コメント
livedoor プロフィール
月別アーカイブ
  • ライブドアブログ