LoginSignup
0
0

More than 5 years have passed since last update.

icalBuddyとgeektoolを用いて、icalのまだ残ってる予定だけをデスクトップに表示できるようにした

Last updated at Posted at 2017-10-11

はじまり

次の予定が思い出せなくなる度にicalを開いて確認するのも億劫なので、icalBuddyGeektoolを用いて、デスクトップにicalを表示してくれるようにしてました。
この辺りの設定の仕方はいろんな方が書かれているので、略します…

icalBuddyとは

icalのデータをコマンドラインで取得できるようにしてくれます。最終更新はかなり前ですが、問題なく使えます。locationやnotesも出力してくれて便利なので、使い始めました。

Geektoolとは

デスクトップを柔軟にカスタマイズできるアプリケーションです。以下の形式のデータをデスクトップに表示できるようにしてくれます。

  • Logs
  • Script
  • Image
  • Web

気になってたこと

icalBuddyのおかげでカレンダーごとに色がついて表示してくれたり、一日ごとに区切って表示してくれたり、と至れり尽くせりだなとは思うものの

今日の終わった予定は表示されない方が嬉しいなぁ

と感じたので、icalBuddyの出力を変換するシェルスクリプトRemSch.shを書いてみました。

RemSch(remaining schedule)について

名前は短絡的ですが、rememberもかかってるようでうまく収まってるなと思ってます。

終わった予定を表示しないようにするついでに、デスクトップに表示されてても嬉しくないデータを非表示にしてしまうようにしました。

環境はzshです。学生として研究室に所属してからなので、触り始めてまだ半年の稚拙なシェルスクリプトにはなってますが、なかなか良いなぁと勝手に思ってます。

仕様について

一般的なお話

日毎の表示で並んでいるからこそメリットがあると思うので、デフォルトの元データは

default.sh
icalBuddy -sd eventsToday+1

となっていて、常に-sdオプションは適用されます。オプションとして、icalBuddyのオプションのいくつかをそのまま選べるようにしました(正直普段自分が使っているやつだけです)。-f,-ncに関してはそのままで、-num NUMだけはeventsToday+NUMとなるようにしてあります。

optional arguments:
  -f        Format output
  -nc       No calendar names
  -num NUM  Print events occurring between today and NUM days into the future

予定が終わっているかは24時間制のhhmmで現在時刻と、予定のical上での終了時刻を比較して、判断しています。
終日の予定は表示されたままになるようになっています(まだlocationやnotesが入っていない場合しか動作しないので、思い立った時に改善します)。

個人的なお話

私の普段使いではgoogle calendarも読み込んでいることもあってか、noteにおけるhangoutsとattendeesが表示されてしまうのが幅をとって鬱陶しかったので、そちらも表示されないようになってます。
以下のような感じで表示されていたので、雑な作りにはなりますが、-::を含む行の間とattendeesを含む行を削除しています。

display_sample
test (fuga@foo.com)
    location: hoge
    notes: -::~:~::~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~::~:~::-
           説明のこのセクションは編集しないでください。

           この予定には Google ビデオハングアウトが含まれています。
           参加: https://plus.google.com/hangouts/_/calendar...
           -::~:~::~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~:~::~:~::-
    attendees: hoge, hage, bar
    18:00 - 20:00

感想

衝動的に踏み出した初投稿なので、読んでくれる方がいたら歓喜です。問題のある仕様や記載があれば、教えていただけると助かります。

参照元

icalBuddy
Geektool

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0