DragThing

2008年1月 5日 (土)

DragThingに日付カウントダウンを表示

Dragthing_todo_2

DragThingのドックにニュースなどを表示するAppleScriptの追加スクリプトである日までの残り日数を表示します。データはiCal、10.5ならMailにもあるTo Doを使用します。

スクリプトファイル

「todo.applescript」をダウンロード。ブラウザで見ると文字化けするかもしれませんが、テキストエンコードをshift jisにするか、リンクを直接保存してスクリプトエディタで開くと文字化けしないと思います。

使い方

Dock.scptの、on setNewsToDragThing()内の適当な所(with timeout of 3600 secondsの直後か、end timeoutの直前など)にtodo.applescriptの全文を貼付けます。適当なハンドラにして追加した方が見やすいかな。Dock.scptの編集時はDragThingは終了しておいてください。

日付カウントダウンのデータはiCalのTo Doを利用するのでiCal(10.5ならMailでも大丈夫)で追加してください。

表示される項目はすでに予定日を過ぎた項目が最新の物一つ、予定日がまだなのはスロットに表示できるだけ表示します。

スロットの背景色はDock.scptに付属のカラーセットを使用するとスクリーンショットのようになります。

スクリプトの簡単な説明

To DoのデータはAppleScriptでiCalから取得できるのですが自分はiCalを使ってないし、この為だけにiCalを起動するのも嫌なので~/Library/Calendarsに保存されているicsファイルを直接読み込むようにしました。このフォルダやicsの仕様については全然調べてないので環境が変わると動かないかもしれません。

更新は一日一回だけ行われます。To Doを追加、削除するなりしてすぐに更新したい場合は日付カウントダウンレイヤーの一番上の更新日時が書いてあるスロットを削除してください。ここの日時を見て今日か判断しているので削除すると更新するようになります。

特定のカレンダーだけのTo Doを表示しようかとも思いましたが使い分けてないので全部表示します。コメントアウトしてあるtheTitleにカレンダー名が入ってるはずなので特定カレンダーだけ表示したい場合はここのコメントを解除して改造してください。

| | コメント (0) | トラックバック (0)

2007年11月 4日 (日)

DragThingのドックにニュースなどを表示するAppleScript

Newsdock

DragThingというドック型ランチャーがあるのですが、このアプリケーションはAppleScriptに対応していてAppleScriptからいろいろできます。ランチャーの項目にファイル以外にもURLの項目を設定することが出来ます。また、ドックの表示方法も特定のアプリケーションでのみ表示、常に最前面で表示、半透明で表示などいろいろとカスタマイズできます。

これらの特徴からヤフーやGoogleのニュースなどを表示できるのではないかと思って作ってみたAppleScriptです。ニュースの更新にちょっと時間がかかるのが欠点ですがここ数年使ってます。

新しいニュースがあったレイヤーには「★」が付きます。また、最大化表示にすることも出来て新着ニュースを素早く知りたい場合に便利です。付属しているカラーセットを使うと天気予報で晴れの日が青色、雨の日が赤色の背景になります。

「DragThing_news_script.zip」をダウンロード(少しの間古いバージョンが公開されてました。Dock.scptの変更日が2007/09のファイルです)

使い方ですが、解凍すると出てくる「Open DragThing Helper Script Folder.scpt」を実行すると開くフォルダに「Dock.scpt」を保存して、DragThingを起動するとDock.scptが30分おきに自動的に実行されてニュースなどが更新されます。ただし、DragThingの詳細設定の「アイコンカウントの表示」が有効になっている必要があります。ここの設定は1分がお勧めです。

表示させる項目を追加、削除するにはDock.scptのon setNewsToDragThing()を見てください。そこでニュースなどを取得しているのがわかると思います。実際の設定はsetURLsToLayerになります。Google newsがhtmlから抜き出して表示する場合、Yahoo newsがRSSをそのまま表示する場合のサンプルとしてシンプルで分かりやすいと思います。

| | コメント (0) | トラックバック (0)