水曜だったか、 iCal の新しい使い方を見つけたので、
そのことについて書いていこうかと思います。

参考サイトは Mac OS X Tips 。
Display iCal Events and a To Do list on your desktop | iCal, Terminal, System Prefs. | Mac OS X Tips

iCal のイベントや To Do リストを
デスクトップに表示するという Tip 。

iCalBuddy というツールで、
コマンドラインからイベントなどを呼び出せるようにして、
GeekTool というシェルをデスクトップに表示するアプリを使って
そのイベントをデスクトップに描画していきます。

私のデスクトップは最終的にこんな感じになりました。

Screen Shot

ただ、 GeekTool のデフォルト文字コードが ASCII なため、
そのまま普通にインストールしてしまうと、
日本語が完全文字化けしてしまいます。

ということで、
GeekTool で日本語表示:ヘヘヘ♪:So-net blogを参考に、
GeekTool のソースコードを取ってきて、
文字コードを UTF-8 に変えてビルドしてみました。

iCal イベントをデスクトップに表示する

では、今回のメインの話題に入っていきましょう。

下ごしらえ

ソースコードをいじって
自分でビルドしなければならないため、
Developer Tool が必要になります。

ダウンロードするには
ADC online メンバーシップが必要。

アカウントを持っていない方は
Apple Developer Connection から登録後、
Xcode Developer Tools をダウンロード、
インストールしておいてください。

iCalBuddy のダウンロードとインストール

最初に icalBuddy をこちらからダウンロード します。

zip ファイルをダブルクリックで解凍後、
ターミナルを起動(アプリケーション/
ユーティリティーフォルダ内)して、
“cd ” とタイプ。d の後のスペースも忘れずに。

解凍された iCalBuddy フォルダを
丸ごとターミナルウインドウにドラッグしてあげます。

ターミナルには iCalBuddy フォルダの
パスが表示されたはずですので、
そのまま Enter キーを押す。

sudo ./install.sh

とタイプして Enter 。
パスワードを聞かれるはずですので、
コンピュータのパスワードを入力します。

何もエラーが表示されなければ終了。
テストするには、

icalbuddy eventsToday

とタイプし Enter を押して
今日のイベントが表示されれば成功してます♪

GeekTool を日本語に対応させる

参考にさせてもらったのは、
GeekTool で日本語表示:ヘヘヘ♪:So-net blog
すごく分かりやすく書かれていました。
別に追加説明はいらないくらいですが、とりあえず。。

こちらから GeekTool 2.1 source code をダウンロードしてきます。

ソフトウェア開発したことがない方にとっては、中身は多分意味不明(*´∀`*)ノ
私も本格的に始めてるわけではないのであまり分かっていませんが。。。

展開したら、Geektool2.1-src フォルダ内の GTLog.m をテキストエディタで開く。
833 行目にこんなコードがあるはずです。

else
	newLines = [[ aNotification object ] availableData ];
    
newLinesString = [[ NSString alloc ] initWithData: newLines encoding:NSASCIIStringEncoding ];
if (! [ newLinesString isEqualTo: @"" ] || [ self type ] == 1)
{
	if (! [ self hide ] && ! [ self force ])

この中で変更するのは 836 行目後方の encoding の後の一カ所。

NSASCIIStringEncoding

から

NSUTF8StringEncoding

に変更してあげます。
これで文字コードを ASCII から UTF-8 に変更できました。

次にビルド。
再びターミナルを起動して以下をそれぞれ打ち込みます。

$ cd /some/where/Geektool2.1-src

enter

$ xcodebuild -alltargets -configuration Deployment

enter

これはすぐに終わるかと思います。

インストールは、
Geektool2.1-src/build/Deployment フォルダ内に出来た、
GeekTool.prefPane をダブルクリック。

これで日本語に対応した GeekTool をインストールできました。

次はセッティングに入っていきます。

GeekTool のセッティング & カスタマイズ

システム環境設定内の GeekTool へ。
まずは、「GeekToolを有効にする」 をチェック。
その下の「エントリーを作成」ボタンをクリックすると、
グループ欄に「Console」という項目が出てくるはず。

出来た「Console」を選択して右側のドロップダウンメニューから、
「ファイル」ではなく「シェル」を選択。
コマンド欄に

/usr/local/bin/icalBuddy eventsToday

と入力すれば iCalBoddy がデフォルトの表示方法で
イベントをずらっと書き並べてくれます。

ちなみに、コマンド欄で改行するには、
[option + enter] です。 enter は全てを選択して変更を適用します。

ただ、何もかもデフォルトで文字色が黒いため、
暗めの背景を使っている方は全く見えていないはずρ(。 。、 )

そのときは、もうお分かりだとは思いますが、
カラーとフォントタブでテキストの色を変えてみてください。

フォントも最初は小さいので大きめの
見やすいフォントに変えてあげるといいかと思います。

表示窓の位置やサイズは、
ロケーションから x 軸、 y 軸、幅、高さを設定出来ますが、
実際に青く表示されているデスクトップの表示窓を
ドラッグしたりしながら変えた方が絶対分かりやすい:)

表示項目のカスタマイズ

GeekTool のコマンド欄に書き込むコマンドを追加することで、
実際に表示されるイベントの内容をカスタマイズできます。

/usr/local/bin/icalBuddy uncompletedTasks | sed -e "s/*/--/"

この最後の “sed” というコマンドは、
Stream Editor の略で unix コマンド。
iCalBuddy とは関係ないですが表示方法を変えるのには最適かと。

要するに、イベントの前についている “*” を “–” に変えています。
これで少し見やすくなるのでは?

/usr/local/bin/icalBuddy -nc eventsToday

上記のように “-nc” を追加すると、
括弧に入って表示されていたカレンダー名を消すことができます。

同じように “-sc” でカレンダーで分けたり、
“-sd” で日付ごとに分けたりなんかも出来るようです。
もちろんスペースを挟めば複数のコマンドを入力することも可能です
詳しくはこちらの man ページでどうぞ。

ちなみにイベントだけではなく、
To Do アイテムも表示することができます。

/usr/local/bin/icalBuddy uncompletedTasks

イベントと同じコマンドを使えますので、
“-nc” でカレンダー名を消すことも可能。

ただ、私の場合 “-sd” で日付ごとに分けることは出来ましたが、
どうやっても日付順に並べることが出来ませんでしたρ(。 。、 )

“-po value” で出来るつもりだったんですが・・・どうしてだろう?

一つのエントリーでイベントと To Do を並べて表示するより、
エントリーを複数作って横に並べていった方がいいでしょう。
でないと、長過ぎるリストは下にあるものが隠れてしまいます。。

お疲れさまでしたー(o_ _)o))
以上で基本的な設定は完了したかとおもいます。

あとは、いろいろいじってみて
お好きなように変えていってみてください(*´∀`*)ノ
でわでわー。


Trackback URL:
http://www.laloopa.com/20090225/showing-ical-events-on-your-desktop/trackback

コメント


Return to Top

iCal イベントをデスクトップに表示する 

Clip to Evernote

人気エントリー   powered by はてなブックマーク