Dashboard de Aquarium v1.6をリリースしました。前回修正した(つもりだった)Snow Leopard以降で発生する問題点の再修正(単純に修正方法がまずかった)しました。 (Dashboard de Aquarium v1.6 released. What's new in this version : Fixed bug.)
日本語(Japanese): "Mac OS X 10.4 Tiger以降が必要です。ダウンロードにSafariを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。Safari以外のブラウザを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、解凍したウィジェットを /ライブラリ/Widgets/ フォルダに配置してください。ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。"
English: "Mac OS X 10.4 Tiger or later is required. If you’re using Safari, click the download link. When the widget download is complete, show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it. If you’re using a browser other than Safari, click the download link. When the widget download is complete, unarchive it and place it in /Library/Widgets/ in your home folder. show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it."
動作確認した機種とMacOSXのバージョンは以下の通り。 (H/W models and the version of Mac OS X that I checked the operation as follows.)
System Requirements : MacOSX Tiger 10.4 or later -- Freeware.
Dashboard de Aquarium v1.5をリリースしました。いくつかの問題点の修正と、アフリカン・ランプアイを追加しました。 (Dashboard de Aquarium v1.5 released. What's new in this version : Fixed some bugs and added African Lampeye.)
日本語(Japanese): "Mac OS X 10.4 Tiger以降が必要です。ダウンロードにSafariを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。Safari以外のブラウザを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、解凍したウィジェットを /ライブラリ/Widgets/ フォルダに配置してください。ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。"
English: "Mac OS X 10.4 Tiger or later is required. If you’re using Safari, click the download link. When the widget download is complete, show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it. If you’re using a browser other than Safari, click the download link. When the widget download is complete, unarchive it and place it in /Library/Widgets/ in your home folder. show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it."
動作確認した機種とMacOSXのバージョンは以下の通り。 (H/W models and the version of MacOSX that I checked the operation as follows.)
System Requirements : MacOSX Tiger 10.4 or later -- Freeware.
Dashboard de Aquarium v1.4をリリースしました。今回のリリースではwidgetサイズを縮小したついでにRed Sailfin mollyを追加しました。 (Dashboard de Aquarium v1.4 released. What's new in this version : Reduced widget size a little and added Red Sailfin Molley.)
Download Dashboard De Aquarium v1.4 Now! Download! v1.4 dashboard_de_aquarium.zip (904KB)
日本語(Japanese): "Mac OS X 10.4 Tiger以降が必要です。ダウンロードにSafariを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。Safari以外のブラウザを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、解凍したウィジェットを /ライブラリ/Widgets/ フォルダに配置してください。ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。"
English: "Mac OS X 10.4 Tiger or later is required. If you’re using Safari, click the download link. When the widget download is complete, show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it. If you’re using a browser other than Safari, click the download link. When the widget download is complete, unarchive it and place it in /Library/Widgets/ in your home folder. show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it."
動作確認した機種とMacOSXのバージョンは以下の通り。 (H/W models and the version of MacOSX that I checked the operation as follows.)
System Requirements : MacOSX Tiger 10.4 or later -- Freeware.
このアプリケーション、単なる水槽を泳ぐ熱帯魚を眺めているだけのアプリケーションではなく、暇つぶしゲーム+AQUAZONE的な要素も持っていて115円と有料アプリながらお得感たっぷり。 暇つぶしゲームとして「釣りゲーム」があり、釣った熱帯魚は自分の水槽へポチャン。増えるわけですな。Dashboard de Aquariumの作者としても参考になります、このアプリ。
日本語(Japanese): "Mac OS X 10.4 Tiger以降が必要です。ダウンロードにSafariを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。Safari以外のブラウザを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、解凍したウィジェットを /ライブラリ/Widgets/ フォルダに配置してください。ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。"
English: "Mac OS X 10.4 Tiger or later is required. If you’re using Safari, click the download link. When the widget download is complete, show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it. If you’re using a browser other than Safari, click the download link. When the widget download is complete, unarchive it and place it in /Library/Widgets/ in your home folder. show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it."
Note: 国際化対応しています。言語環境が英語であれば以下のように表示されます。 (Internationalized. When language setting is in English, it's displayed as follows.)
Apple(US)で公開されてから2日目ですがDashboard de Aquarium v1.2がDashboard Widgets Top50入りしたようです。ダウンロードしてくださった皆さんに感謝! (Thank you for downloading Dashboard de Aquarium v1.2!)
前回の予告したようにDashboard de Aquarium v1.2をリリースしました。今回のリリースで魚種(discus/neon tetra/mix:default)を選択することができるようになりました。 (Dashboard de Aquarium v1.2 new feature : Added preference pane and you can choose fish species(discus, neon tetra or mix:default).
日本語(Japanese): "Mac OS X 10.4 Tiger以降が必要です。ダウンロードにSafariを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。Safari以外のブラウザを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、解凍したウィジェットを /ライブラリ/Widgets/ フォルダに配置してください。ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。"
English: "Mac OS X 10.4 Tiger or later is required. If you’re using Safari, click the download link. When the widget download is complete, show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it. If you’re using a browser other than Safari, click the download link. When the widget download is complete, unarchive it and place it in /Library/Widgets/ in your home folder. show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it."
Note: 国際化対応しています。言語環境が英語であれば以下のように表示されます。 (Internationalized. When language setting is in English, it's displayed as follows.)
1年以上放置していたDashboard de Aquariumですが、子供に邪魔されつつなんとか一気にリビジョンアップ。 現在最終確認中!・・・・ですが、画像だけ載せておきましょう。今しばらくお待ちを。
MacOSXの言語設定が英語の場合、左の画像のように表示され、日本語の場合、右側の画像のように表示されます。 (When language seting of MacOSX is English, it is displayed like left pictures , and displayed like right pictures in case of Japanese.)
最近、何故か、アクセス数が上昇傾向にあるんですよね。どこかのWidget紹介系のサイトに載ったのかとおもったら、以前はアクセス数が多くてもココフラッシュの仕様?でランキングに載っていなかったDashboard de Aquarium v1.1のページが、いつのまにかランキングに載っているではないですか〜〜〜〜〜〜!
"Mac OS X 10.4 Tiger以降が必要です。ダウンロードにSafariを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。Safari以外のブラウザを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、解凍したウィジェットを /ライブラリ/Widgets/ フォルダに配置してください。ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。"
Please note that the December 2006 beta of Dashcode compatible with Mac OS X 10.4 Tiger will cease to function on July 15, 2007.
なんて思っていたタイミングで、Glossitopeのことを、今月の2時間で学ぶ Java Hot Topic (7月号)で知り、むくむくと制作意欲が。。。Glossitopeは、JavaVM上で動作するWidgetコンテナで、Java SE 6.0のスクリプトサポートを利用するか、javascript, Python, JRubyなど複数のスクリプト言語で記述することができるとのこと。
"Mac OS X 10.4 Tigerが必要です。ダウンロードにSafariを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。Safari以外のブラウザを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、解凍したウィジェットを /ライブラリ/Widgets/ フォルダに配置してください。ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。"
function openMyBlog() { widget.openURL(this.innerText); }
function addClickListeners(element, callback) { element.addEventListener("click", callback, true); }
/* added by mac de oracle @2007/4/28 ******************************************************************/
....中略....
function setHandlers() { var backOver = new Image(); backOver.src = "Images/backButton_over.png"; var backDown = new Image(); backDown.src = "Images/backButton_down.png"; var forwardOver = new Image(); forwardOver.src = "Images/forwardButton_over.png"; var forwardDown = new Image(); forwardDown.src = "Images/forwardButton_down.png";
var backButton = document.getElementById("backButton"); if (backButton) { addHilightListeners(backButton, backOver, backDown);
// added by mac de oracle @2007/4/28 addMouseCursorListeners(backButton, swapCursor); }
var forwardButton = document.getElementById("forwardButton"); if (forwardButton) { addHilightListeners(forwardButton, forwardOver, forwardDown);
// added by mac de oracle @2007/4/28 addMouseCursorListeners(forwardButton, swapCursor); }
/**************************************************************** *** added by mac de oracle @2007/4/28 ***/
var blogURLText = document.getElementById("myBlogURLText"); if (blogURLText) { addMouseCursorListeners(blogURLText, swapCursor); addClickListeners(blogURLText, openMyBlog); addMouseCursorListeners(blogURLText, swapTextColor); }
var done = document.getElementById("done"); if (done) { addMouseCursorListeners(done, swapCursor); }
var refreshButton = document.getElementById("refreshButton"); if (refreshButton) { addMouseCursorListeners(refreshButton, swapCursor); }
var info = document.getElementById("info"); if (info) { addMouseCursorListeners(info, swapCursor); }
/*** added by mac de oracle @2007/4/28 ***************************************************************/
// Namespace URLs var NS_DC = "http://purl.org/dc/elements/1.1/"; var NS_CONTENT = "http://purl.org/rss/1.0/modules/content/";
・・・・・中略・・・・・
function parseRSSFeed(doc) { var items = doc.getElementsByTagName("item"); for (var i = 0; i < items.length; i++) { var thisItem = items[i];
var title = getLocalizedString("Untitled"); var titleElt = getFirstElementByTagName(thisItem, "title", "*"); if (titleElt && titleElt.firstChild) { title = allData(titleElt); }
var description; var descElt = getFirstElementByTagName(thisItem, "encoded", NS_CONTENT); if (!descElt) { descElt = getFirstElementByTagName(thisItem, "description", "*"); } if (descElt && descElt.firstChild) { description = allData(descElt); }
var pubDate = getFirstElementByTagName(thisItem, "pubDate", "*"); // If there's a pubDate element, use it if (pubDate) { pubDate = new Date(Date.parse(allData(pubDate))); } // If not, maybe they're using the Dublin Core date element if (pubDate == null) { pubDate = getFirstElementByTagName(thisItem, "date", NS_DC); if (pubDate) { var isoDate = allData(pubDate); pubDate = parseISODate(isoDate); } }
if (+attributes.feedType == DFFeedTypeHTML) { // HTML feed if (description) { entries.unshift({ title: title, description: description, date: pubDate }); } } else if (+attributes.feedType == DFFeedTypeImage) { // Photo feed var image = getFirstImage(description); if (image) { entries.unshift({ title: title, image: image, date: pubDate }); } } } }
・・・・・中略・・・・
function setHTMLContent(title, description, date) { var content = document.getElementById("content"); if (content) { clearContent();
if (title != null) { var titleDiv = document.createElement("div"); titleDiv.setAttribute("id", "entryTitle"); titleDiv.innerHTML = title; fixLinks(titleDiv); content.appendChild(titleDiv); }
if (description != null) { var descDiv = document.createElement("div"); descDiv.setAttribute("id", "entryDescription"); descDiv.innerHTML = description; fixLinks(descDiv); content.appendChild(descDiv); }
setDateText(date); } }
変更後
// Namespace URLs var NS_DC = "http://purl.org/dc/elements/1.1/"; var NS_CONTENT = "http://purl.org/rss/1.0/modules/content/"; /***************************** *** for Oracle Technology *****************************/ var NS_JF = "http://www.jivesoftware.com/xmlns/jiveforums/rss";
・・・・・中略・・・・・
function parseRSSFeed(doc) { var items = doc.getElementsByTagName("item"); for (var i = 0; i < items.length; i++) { var thisItem = items[i];
var title = getLocalizedString("Untitled"); var titleElt = getFirstElementByTagName(thisItem, "title"); if (titleElt && titleElt.firstChild) { title = allData(titleElt); }
var description; var descElt = getFirstElementByTagName(thisItem, "encoded", NS_CONTENT); if (!descElt) { descElt = getFirstElementByTagName(thisItem, "description"); } if (descElt && descElt.firstChild) { description = allData(descElt); }
var pubDate = getFirstElementByTagName(thisItem, "pubDate"); // If there's a pubDate element, use it if (pubDate) { pubDate = new Date(Date.parse(allData(pubDate))); } // If not, maybe they're using the Dublin Core date element if (pubDate == null) { pubDate = getFirstElementByTagName(thisItem, "date", NS_DC); if (pubDate) { var isoDate = allData(pubDate); pubDate = parseISODate(isoDate); } }
// OTN only if (pubDate == null) { pubDate = getFirstElementByTagName(thisItem, "creationDate", NS_JF); if (pubDate) { var isoDate = allData(pubDate); pubDate = parseISODate(isoDate); } }
// OTN only var author; var authorElt = getFirstElementByTagName(thisItem, "author", NS_JF); if (authorElt && authorElt.firstChild) { author = allData(authorElt); }
var link; var linkElt = getFirstElementByTagName(thisItem, "link"); if (linkElt && linkElt.firstChild) { link = allData(linkElt); }
if (+attributes.feedType == DFFeedTypeHTML) { // HTML feed if (description) { entries.unshift( { title: title, description: description, date: pubDate, author: author, link: link } ); } } else if (+attributes.feedType == DFFeedTypeImage) { // Photo feed var image = getFirstImage(description); if (image) { entries.unshift( { title: title, image: image, date: pubDate, author: author, link: link } ); } } } }
・・・・・中略・・・・
function setAuthorText(author) { var authorText = document.getElementById("authorText"); if (authorText) { if (author != null) { authorText.innerText = author; } else { dateText.innerText = getLocalizedString("Author"); } } }
function setHTMLContent(title, description, date, author, link) { var content = document.getElementById("content"); if (content) { clearContent();
if (title != null) { var titleDiv = document.createElement("div"); titleDiv.setAttribute("id", "entryTitle");
var linkElt = document.createElement("a"); linkElt.setAttribute("href", link); linkElt.innerHTML = title; titleDiv.appendChild(linkElt);
以前、DashCode Public Betaが、ADCのサイトからダウンロードできるようになっていると書いたが、Leopardのリリースが10月頃まで延期されるということで、しばらくは、正式版DashCodeにお目にかかるのも延びる、ということもあり、少々、DashCode Public Betaで遊んでみる事にした。
で、ネタはどうする? と、しばし考える。。。浮かんだのが、やはり、RSS FEEDを扱うネタ。
DashCode Public Betaには、FEEDを扱うテンプレートが2種類用意されているので、それら利用することにした。
起動するとテンプレートを選択するダイアログが現れる。RSS FEEDを扱うテンプレートは2種類あるが、今回は、Daily Feedというテンプレートを利用することにした。[an error occurred while processing this directive]
(2) 表示するURLの設定
テンプレートを選択するとキャンバスと呼ばれるPaneにWidgetのひな形が表示される。このひな形の「Drop on RSS Feed URL Here」と表示されているエリアへ、表示したいFEEDのURLをDrag & Dropすれば設定は完了してしまう。
[an error occurred while processing this directive]
(3) Widgetの裏面デザイン
最終的には裏面デザインは変更するのだが、今のところテンプレートのままで。[an error occurred while processing this directive]
(4) プロジェクトの保存
基本的な設定はこれだけなので、作成したプロジェクトは名前を付けて保存しておく。[an error occurred while processing this directive]
(5) Widgetのテスト
作成したWidgetをDashCode上で実行してみる。(DashCode Public Beta版では、実行時のロケールは英語になっているようだ。この点については別途解説する。)
[an error occurred while processing this directive]
作成したWidgetをDashboardへデプロイする。デプロイする際、Widget動作の互換性の設定も行える。今回は、MacOSX10.4.3以降で動作するように設定してある。(尚、画面は現在ログインしているユーザのDashboardへWidgetをデプロイする様子。アイコンを設定していないので白のアイコンが表示されている。)
[an error occurred while processing this directive]
(7) Dashboardの表示
デプロイが完了するとDashboardでの表示ができるようになる。表と裏面を表示させた状態のスクリーンショット。テンプレートのままだと、やはり見栄えなどもいまひとつかな。
[an error occurred while processing this directive]
最近のコメント