2008年8月31日日曜日

ClamXav 1.1.1がリリース!

タイトル通りですが、セキュリティ対策アプリケーション「ClamXav 1.1.1」がリリースされました。ダウンロードはコチラのページから行う事ができます。


↑ClamXav 1.1.1


最近は「iAntiVirus」(紹介したエントリはコチラ)を利用していたので、これから「ClamXav 1.1.1」でスキャンしてみようと思っています!

2008年8月29日金曜日

UbiquityからAmazon.co.jpで書籍検索するコマンド

もう既に作られた方もいると思うのですが、Ubiquityの「Find New Commands」からコマンドをを探し出すのが余りにもシンドイので、自分で作ってみました。

とりあえず私の環境では動作しているのですが、他の環境で動作するかは不明ですw人柱になってもいいよ!という方は、このページを「Subscribe」してみて下さい。

良い名前が思いつかなかったので、今のところ「jamazon-search」としています。実行する時は、「jam」などと打てばOKです。ちなみに、動作イメージはこんな感じです。


↑「jam iPhone」と入力した時のプレビュー画面。この後、Enterキーを押すとAmazonのページが開きます。


このコマンドを開発するにあたって、「Setsuna666's Commands」さんの「Amazon Canada Commands」をパクリ参考にさせて頂きました。Thanx!


(追記:8/30)
検索URLとプレビューの一部を変更しました。

(追記:9/5)
日本語が文字化けする問題の対策をしました。
コチラで日本語が文字化けすると指摘されていました。確認してみると、Windowsでは完全にNGでした...。解決策?も掲載されていたので、url:に「__mk_ja_JP=カタカナ」を追加しましたバージョンに更新しました。

Ubiquityの「CmdUtils.getTextSelection」でエラーが発生する問題と文字数を数えるコマンド

Ubiquity 0.1」で、オレオレコマンドを試していたのですが、なぜか「CmdUtils.getTextSelection」でエラーが発生してしまいます。皆さんの環境では問題ありませんか?(もしかしたら、私の環境だけかもしれません...。)


↑「CmdUtils.getTextSelection」を実行すると表示されるエラー


やはり選択中の文字列が取り出せないとなると不便なので、少し回避策を考えてみました。そこで、command-editorで再定義!を思いつきました。

具体的には、command-editorにcmdutils.jsのCmdUtils.getTextSelectionのブロック(175〜189行目)をそのままコピーしてみたところ、正常に?動作するようになりました。(今のところ、既存のコマンドへの影響は特に無いと思っています。が、何か問題があるようでしたら削除すればOKです)

もし同じ症状が発生している方がいたら、以下のコードをcommand-editorの一番上辺りに貼り付けてみると良いかもしれません。

−−ここから--
CmdUtils.getTextSelection = function getTextSelection() {
var focused = context.focusedElement;
var retval = "";

if (focused)
if (focused.selectionStart != focused.selectionEnd)
retval = focused.value.substring(focused.selectionStart,
focused.selectionEnd);
if (!retval) {
var sel = context.focusedWindow.getSelection();
if (sel.rangeCount >= 1)
retval = sel.toString();
}

return retval;
};
--ここまで--


私の環境では、この方法で選択中の文字列が取得できるようになりました。という訳で、選択中の文字列の文字数を数えるコマンドを定義してみました。これは「word-count」コマンドでは日本語を扱えないので、とりあえずlengthの値を返すようにしてみただけです。「それ、○○でできるよ!」というのは無しでお願いしますw

以下のコードをcommand-editorの一番下にでも貼り付ければOKです。

--ここから--
CmdUtils.CreateCommand({
name: "length",
description: "選択中の文字列の文字数を表示します。空白や改行などは無視します。",

_length: function() {
var str = CmdUtils.getTextSelection();
str = str.replace(/\s|\n|\r/g, "");
return str.length;
},

preview: function(pblock) {
pblock.innerHTML = this._length() + "文字です。";
},

execute: function() {
displayMessage(this._length() + "文字でした。");
}
});
--ここまで--

このコマンドを使って、先程書いたエントリの文字数を測ってみました。うーむ、想像以上に短かった!


↑文字数をカウントするコマンド「length」←好きな名前を付けて下さいw


以上、私の環境では、「CmdUtils.getTextSelection」で少しハマッたのでメモを残しておこうと思います。


(追記:8/30)わざわざ再定義しなくても、次のようなコードでも選択中の文字列を取得できますね!
  var document = context.focusedWindow.document;
var str = document.getSelection();

[小ネタ] Ubiquityの「weather」コマンドで表示される温度を摂氏に変更する

このページを「Subscribe...」→「I Know what I'm doing. Subscribe to it!」すればOKです。

導入すると、こんな感じになります。使用する頻度は低いかもしれないけど、Subscribeしておいて損は無いと思いますw




(追記:9/2)
Ubiquity 0.1.1がリリースされましたが、新weatherコマンドよりも、コチラのコマンドの方がお好み方向けのメモ。

Rickyさんのコードをコマンドエディタにコピーして、37行目の変数名「temp」を「tempc」に書き換えればOKです。

変更前
temp: el.find("temp_c").attr("data"),
変更後
tempc: el.find("temp_c").attr("data"),

2008年8月27日水曜日

FirefoxをQuickSilverのように操作可能にするアドオン - Ubiquity

既にCNETの記事などでご存じの方も多いかと思いますが、感動したので思わずブックマーク!的なエントリですw

タイトル通りなのですが、「Ubiquity」を導入すると、Firefox上からQuickSilverを操作するような感覚で、あるいはターミナルでコマンドを入力する感覚で、Web上の各種サービスを利用できるようになります。これがキビキビ動作して、それぞれのサービスを自然と繋がって...と、本当に使っていて気持ち良いです。これぞマッシュアップ!というツールです。

実際にどんな事ができるのか?は、↓のオフィシャルムービーをご覧下さい。


Ubiquity for Firefox from Aza Raskin on Vimeo.


ご覧の通り、Google Mapを利用したり、twitterにポストしたり、urlをtinyurlを書き換えたり、翻訳したり...ともう何でもアリな感じです。ちなみに、利用できるコマンドは、インストール後にココ(← Firefox限定です)にアクセスすれば確認することができます。

また、少し利用してみて分かったのですが、Ubiquityでは日本語も利用する事ができます。ただ、「Returnキー」は「実行」と解釈されるようで、日本語の変換確定する時に押すと意図しない挙動になってしまう事があります。これは入力環境にもよると思うのですが、例えばATOKでは、変換確定時に「Tabキー」を利用すると良いと思いました。

まだ詳しく追いかけていないのですが、Ubiquityは、ユーザがコマンドを拡張していく事もできるようです。これは今後の発展に期待したいですね!


Ubiquityにのオフィシャルサイト(紹介ページ?)は、コチラです。
チュートリアルも公開されていますので、合わせてどうぞ。


(追加:9/3)
日本語変換確定する時に「Enterキー」が利用できるようにする拡張が公開されています!詳しくはコチラをどうぞ!