ぎゃ日記

 | 

2008-10-23

ubiquity の bilt-in command 消滅事件と大量コマンド登録

数ヶ月前に

を参考に導入して以来、

いつもお世話になっている firefox の便利なアドオンツール ubiquity の 0.1.2 がリリースされたのようなので、ちょっといじろうとした。

日本語が通らなくて微妙に使えなかったり、追加コードに無駄が多過ぎたりとかするし、

ちょっとどうにかしようかなぁと考えていた。

そんな折、

このページを発見したので、これ幸いと command-editor を起動。んー、重いよなんか。

まぁそれはいつものことだし、とりあえず既に入力された 4,000 行以上をコピーっと、、、

(FireFox は帰らぬ人になったので、ぬっころす→再起動) x3 ぐらいやった。

するとどうでしょう。

何故かビルトインコマンドまで綺麗さっぱり失われているではないですか。。。

唯一残っていたのは、Alt-M に変更していた起動コマンドのみ。???

こりゃわけわからんなーと、とりあえず google 先生に聞いたが、

とかぐらいしか出てこない。みんなあまり無茶なことはしないのだろうか。

バージョンアップしたらなおったとのことだが、

(uninstall -> 0.1.1 をインストール -> 0.1.2 にバージョンアップ) x2 ぐらいやってみたが、

ビルトインコマンドは復活してくれない。

とりあえず about:config を覗いて ubiquity の設定ぽいものを見ると

extensions.ubiquity.commands

extensions.ubiquity.lastversion 0.1.2

extensions.ubiquity@labs.mozilla.com.install-event-fired true

とかいうのがあるじゃないですか。

しかもよく見ると、 commands が空になっている。

こいつら消せばいいのかな。とか思ったが、消せない???

しょうがない、とりあえず install-event-fired の値と lastversion を

false と 0.1.0 とかにしてみたらなんとか復活した。

まぁたぶん他に困っている人はおらんと思うけど、備忘録程度に。。。

もう一つ、先の大量コマンドを突っ込むのはいいが、大量に冗長コードが含まれているので、

正しい書き方かどうかは知りませんが、以下のような感じで共通部分を抜き出したら、

2,000 行ぐらい削減されて、なんとなく軽くなった気がした。

ので一応メモ程度に残しておこうかと。

function UQ_getQuery(directObject) {
    var query = this.name;
    if (directObject.text != "")
      query += " " + directObject.text;
    return encodeURI(query);
}

function UQ_preview( pblock, directObject ) {
    var shot_url = "http://mozshot.nemui.org/shot?";
    var img_url = "<img src='" + shot_url + this.query_url + "'/>";
    var help = "<p>" + this.help + "</p>";
    pblock.innerHTML = help + img_url;
}

function UQ_execute(directObject) {
    var url = "http://www.startcommand.com/stand/" + this.stand + "?cmd={QUERY}";
    var query = this._getQuery(directObject);
    var urlString = url.replace("{QUERY}", query);
    Utils.openUrlInBrowser(urlString);
}

CmdUtils.CreateCommand({
  name: "2ch",
  description: "2ちゃんねる検索",
  help: "2ちゃんねるのスレッド(議題)のタイトルから検索します。",
  query_url: "http://find.2ch.net/?BBS=ALL&TYPE=TITLE&COUNT=&SORT=MODIFIED&SCEND=A&STR=",
  icon: "http://find.2ch.net/favicon.ico",
  stand: "startcommand",
  takes: {parameter: noun_arb_text},

  preview: UQ_preview,
  execute: UQ_execute,
  _getQuery: UQ_getQuery
})

大本は単独でちゃんと動作して何も考えずともコピペすれば良いというようなものなので、仕方無いのだけれど。大量に登録する人にはもしかしたら役立つかもしれません。というより既にやられている気もしますが。

 |