« ^ »

Emacsのorg-modeのorg-agendaのday viewでlocationの表示を行う

所要時間: 約 2分

Org-agendaで予定を管理しているが場所が制限されている項目を管理したいため調べた。

TL;DR

  • locationの設定は org-set-property を使ってLOCATIONプロパティを設定する。
  • locationの表示はorg-agenda-propertyをインストールする。
  • org-agenda-propertyはデフォルト値としてLOCATIONプロパティが表示されるようになっている。

場所の情報はプロパティとして設定する

locationの設定は org-set-property を使ってLOCATIONプロパティを設定する。 https://emacs.stackexchange.com/questions/32336/org-agenda-any-support-for-locations

ただしこのままではday viewには表示されない。

設定項目はどこにあるのか?

表示させるためにはorg-agendaのフォーマットのフォーマットを修正する必要がある。 Day-agenda という表記があるためそれを定義しているelispを探す。

探したが見つからなかったため地道にorg-agenda.org.gzから見ていく。

/Applications/Emacs.app/Contents/Resources/lisp/org/org-agenda.el.gz

(setq org-agenda-prefix-format
  '((agenda  . "%-12:c%?-12t% s")
    (todo  . " %i %-12:c")
    (tags  . " %i %-12:c")
    (search . " %i %-12:c")))

この設定が聞いていることはわかった。ここを変更してもよいがpropertyを取得する値は用意されている感じではなかった。

ついでに関連しそうなweb記事も見ていく。

%() の中にプロパティを取得するコードを書けばできそうではある。ただここのハックはあまりやりたくない。

MELPAにないか?

この手のカスタマイズは絶対にだれかがやっているとおもうので調べてみたらいい感じのパッケージがあった。

org-agenda-property

これをインストールするだけで完了した。しばらくはこれを使うことにする。