Hatena::ブログ(Diary)

mooz deceives you

(about 'mooz) ; => "See http://mooz.github.com/index-ja.html"

 

July 07 (Wed), 2010

Firefox 用アドオン gpum - Gmail Popup Unread Manager を公開しました

お知らせ

現在, Add-on for Mozilla において gpum の公開が停止されています. ダウンロードは以下のリンクよりお願いします.

no title

ダウンロードした gpum.xpi を Firefox へドラッグ & ドロップして下さい.

やっと公開が再開されました (停止されていた理由は, アドオン名に Gmail という文字列が含まれている, というものです. なんでもドイツの会社が Gmail を登録商標にしていて, 勝手に使うなと文句を言ってきたらしいのです. Google Mail へと書き換えることにより対応しました.)

記事

Firefox 用アドオン gpum - Gmail Popup Unread Manager を公開しました.

gpum - Gmail Popup Unread Manager Gmail の未読メッセージをポップアップから管理しましょう。

gpum と書いて「じーぱん」と読みます. 覚えやすいですね. 「じーぱむ」と読むのも可愛らしくて良いです.

使い方

ステータスバーに現在の未読件数が表示されます.

f:id:mooz:20100706224940p:image

この未読件数を左クリックすると, 次のようなポップアップが現れます.

f:id:mooz:20100706224904p:image

最上部には, 受信箱へのリンクとメール新規作成ボタンが用意されています.

f:id:mooz:20100706224903p:image

その下に一覧表示されているのが未読メールです.

f:id:mooz:20100706224902p:image

各未読メールでは,

  • 件名をクリックすることにより Gmail 上でそのメッセージを開く
  • 差出人名をクリックすることで, その差出人からのメール一覧を Gmail 上で表示する

といったことや, 右部のアイコンをクリックすることで,

  • 既読にする
  • 削除する
  • スパム報告を行う
  • アーカイブする

といった操作を行うことが可能となっています. これらの説明は, アイコン上にマウスを持っていくことでも表示されます.

また, 件名の左にある星マークをクリックすることでそのメッセージにスターをつけることも可能となっています.

設定

ステータスバーアイコン上で右クリックし Settings を選ぶことで, 設定を行うことができます.

f:id:mooz:20100706224939p:image

更新間隔 (分)
新着メールを確認する間隔を分単位で設定します
全ての接続で SSL (セキュアな接続) を使用する
https を使うかどうかを指定します
受信箱以外の未読メールもチェックする
チェックを付けた場合, 全ての未読メールが対象となります
メッセージを開く際にポップアップを閉じる
ポップアップ中の件名をクリックしメッセージを開く際, ポップアップを閉じるかどうか設定します

その他

ステータスバーのアイコン上で中ボタンクリックをすることで, 即座に更新を確認することが可能です.

レビュー・バグ報告

現在, このアドオンは一般公開がされていないため, 自動更新が無効となっています.

ユーザの方にフィードバックを頂ければこのアドオンが一般公開される可能性も高まりますので, 使って下さった方はぜひ gpum - Gmail Popup Unread Manager にレビューを書き込んで頂ければと思います.

バグ報告も歓迎しております. 何か気づかれた方は, お気軽に Twitter やこのブログのコメント欄で連絡下さい.

感想・今後について

これまで KeySnail, Clipple と計二つの拡張機能を開発してきたこともあり, 今回の拡張機能は中々良いペースで開発を行うことが出来ました. コードについても, そこそこ綺麗にまとめられたのではないかと思います.

元々 Google Mail Checker Plus の使いやすさに感動し「これは Firefox にも欲しいなあ」と思ったところから開発を始めたのですが, 案外 XUL の融通が思うように効かず, 再現出来なかった機能もいくつかあります (メールのポップアップ内プレビューなど). その辺りは, 今後の改善点としていきたいところです.

開発

no title で開発を行っています. fork 大歓迎です.

tomato39tomato39 2010/08/10 13:00 win7,firefox3.6.8です。左クリックで数字を押すのですが、popupしません。ホップアップウインドウは、ブロックしてません。

moozmooz 2010/08/11 09:12 報告ありがとうございます.

http://builder.japan.zdnet.com/sp/firefox-extension-2008/story/0,3800084858,20369326,00.htm を参考にしてアドオンの一覧をこちら (stillpedant@gmail.com) へ教えていただければ調査もしやすいので, 問題が無いようでしたらぜひ.

NanaNana 2010/09/25 16:48 インストールしたいのですが、リンク先のアドオンのページがNot Foundになっています。
もう使えないのでしょうか?

NanaNana 2010/09/25 16:54 WinVista、Firefox3.6.10ですが、コメントしようとしたら何度やっても画像認証がミスになり送れません。
先ほどのコメと今回のコメはIEで送りました。

moozmooz 2010/10/02 21:25 >Nana さん

すみません. お返事が遅れてしまいました.
http://github.com/mooz/gpum/downloads から gpum.xpi をダウンロードし, Firefox へとドラッグ & ドロップして下さい.

画像認証の件に関しては, はてなダイアリー側の問題かと思われます. こちらで対処することは難しいです. すみません.

NanaNana 2010/10/03 13:40 お返事ありがとうございます。インストールできました。
すごくいいです!

フリントフリント 2011/04/13 20:35 これ、グループ化されているメールを個別に見ることはできないのでしょうか?
今のままだと、最新のメールしか操作できず、同一グループでそれより古い未読メールは結局Gmailに直接アクセスしないと何の操作も出来ません。

フリントフリント 2011/04/15 17:49 ああ、そうだ、それ以前に同一グループに複数未読メールがあっても未読1というのはどうかと思います。
実際の未読数を表示できませんか?

真冬真冬 2011/09/03 15:05 win7,Firefox6.0.1です。
少し前よりアドオンバーのアイコンから既読にするを押しても既読が反映されなくなりました。
また、プレビュー時に既読にチェックをいれてプレビューしても既読が反映されませんでした。
私がGmailのほうでまずい設定をしているだけなのかもしれませんが、ご報告をさせていただきました。

junejune 2011/09/04 20:38 WinVistaです。
真冬さんと同じく、少し前(Firefox6にアップデートしたぐらい?)から既読にできなくなりました。
他のアドオンを全部無効にしてみましたが、変わりません。
原因が分からず、とりあえず私もご報告させていただきました。
よろしくお願いします。

真冬真冬 2011/09/09 21:44 サンドボックスに入っている9/8公開の0.1.8をインストールしたところ、既読などが行えるようになりました。
修正ありがとうございます!

moozmooz 2011/09/09 21:51 真冬さん,juneさん,

報告ありがとうございます.真冬さんが書かれていますが,

https://addons.mozilla.org/ja/firefox/addon/gpum/versions/

にある 0.1.5 より後のバージョンで,報告された問題は修正されています.自動更新が効くようになるのはまだ先になるとのことなので,お手数ですがこちらからお試し下さい.

junejune 2011/09/10 23:19 最新バージョン入れてみましたが、ちゃんと既読になりますね。
着信するとポップアップが出るのも嬉しいです。
ありがとうございました^^

junejune 2011/09/11 23:47 昨日は問題なかったのですが、今日になってまた既読にならなくなりました。
アドオン無効も変化なし、新しくプロファイルを作って0.1.8をインストールしましたがそちらでもダメでした。
私だけでしょうか??

junejune 2011/09/11 23:48 昨日は問題なかったのですが、今日になってまた既読にならなくなりました。
アドオン無効も変化なし、新しくプロファイルを作って0.1.8をインストールしましたがそちらでもダメでした。
私だけでしょうか??

junejune 2011/09/12 21:15 何度もすみません。
自分で何度かメールを送信して確認したのですが、まったく既読にならないというわけではなく、できる時もあればダメな時もあるという状態でした。
しばらく様子を見てみます。

おおおおおお 2012/05/29 08:33 WinXP firefox12.0
既読アイコンを押してもプレビュー(設定済み)しても
既読になりません

もんもん 2012/06/10 17:40 winvistaです
Firefoxを13にアップデートしたところ
既読にならなくなりました
再インスト、新プロファイル等やりましたが直りません

kainkain 2012/07/20 05:56 Firefox15より、gpumが使用できなくなったのでご報告致します。
gmailにログイン済みにもかかわらず、gpumではログイン出来ない状態です。
Firefox本体の再インストール、gpumの再インストールでの使用不可も確認しております。
なお、プロファイルの新規作成、gpum以外のアドオンの停止は行なっていませんが、Firefoxのアップデート直後にその他のアドオンの更新はなく、以前は使用できていたいたのでアドオンの衝突は考えにくいです。
また、Firefox14へのダウングレードで再び使用できるようになることを確認済みです。
以上、ご報告申し上げます。

sayusayu 2012/08/30 15:57 kainさんが報告されてますが、Firefox15にするとログインできません。
gpum以外のアドオンを無効にしましたがやはり駄目です。
以前のバージョンから上記の報告にもあるように既読にできなくなっていたのですが、そのまま使用していました。
もうアップデートはされないんでしょうか?
非常に便利なアドオンでとても重宝していたので、対応して頂けるとありがたいのですが…。

moozmooz 2012/08/31 15:57 Firefox 15 への対応と各種ボタンの挙動を修正した 0.2.0 を作成致しました.現在公開を申請中ですが,以下のページよりダウンロードできるかと思います.

https://addons.mozilla.org/ja/firefox/addon/gpum/versions/?page=1#version-0.2.0

対応が遅くなり申し訳ありません.

sayusayu 2012/09/01 20:54 リンク先のバージョン0.2.1をインストールし、問題なく使用できるようになりました。
対応ありがとうございました!

April 09 (Fri), 2010

mozIJSSubScriptLoader で読み込まれたスクリプト (KeySnail, Vimperator プラグイン等) を Venkman でデバッグ

f:id:mooz:20100409222031p:image

Venkman という便利なデバッガがある. 詳細については no title を参照していただくとして, 早速本題に便器.

KeySnail や Vimperator のプラグインは, mozIJSSubScriptLoader の loadSubScript というメソッドを使ってロードされている.

このメソッドを用いて file:///hoge/huga.js といったローカルファイルをロードすると, その URI読み込み元スクリプト -> file:///hoge/huga.js に書き換えられてしまう. Venkman はこの "xxx -> yyy" 形式の URI に対応していないため, loadSubScript を使ってロードしたスクリプトをデバッグしようとすると, もれなくエラーを吐く. ファイルが読み込めないのではデバッグが出来ないに等しいので, これはかなり面白くない. (該当処理部分)

そこで, 今回は Venkman の関数を書き換えて対処することにした. 以下にその対処スクリプトを示す.

上記の対処スクリプトを userChrome.js などで chrome://venkman/content/venkman.xul へと読み込んでやれば, loadSubScript を使って読み込んだスクリプトを Venkman でデバッグすることが可能となる.

肝心の対処スクリプトを読み込む方法だが, おそらくは userChrome.js を使えばうまくいくのではないかと思われる. KeySnail ユーザの場合は .keysnail.js 内の PRESERVE エリアへ上記スクリプトの内容を張り付けておけば良い.

以上により, とりあえずは KeySnail のプラグイン開発に Venkman を役立てることが可能となった. 実際使ってみると, やはりブレークポイントを設定してステップ実行が出来るのは大きい. 今まで print デバッグをしていた自分に拍手を. これからの自分へ祝杯を.

ちなみに, 拡張機能 (KeySnail や Vimperator プラグイン含む) をデバッグする際には, 以下のスクリーンショットのようにして, "Browser" -> "Exclude Browser Files" のチェックを外しておく必要がある. デフォルトではチェックが付いている状態なので, 注意されたい.

f:id:mooz:20100409222021p:image

追記

userChrome.js 版 を作成. ローダは uc がオススメ.

March 02 (Tue), 2010

カーソルのセンタリング, もといパーセンテージ指定が可能な scrollSelectionIntoView

カーソルが画面内に来るようスクロールする関数

Firefox 拡張機能開発者向けのニッチなネタです.

以前 テキストボックスの値を変更した後、カーソルが画面内に入るようスクロールする関数 - mooz deceives you で「カーソルが画面内に来るようスクロールする関数」を紹介したのだけれど, この関数には「カーソルが一番下に来るようにスクロールされてしまう」という問題があった.

どうせなら一番下なんて恥ずかしがらず, 真ん中辺りへ来て欲しい. 先ほどのエントリを書いたときにもそう思ったのだけれど, 実現方法が分からなかったため, その辺りは表に出さずに済ませておいた.

で, 数日前のこと. ちょっと柔軟なscrollIntoView - caisuiの日記 というエントリを発見. 読んでみると, まさにやりたかったことが書いてある. なんでも nsISelection2 の scrollIntoView がパーセンテージ指定可能で良い感じらしい.

inputScrollSelectionIntoView

元記事ではテキストノードを対象としていたので, テキストボックス内部の selection (カーソル) に適用が可能な関数を書いてみた. この関数にテキストボックス要素を渡すと, カーソルが画面内に来るようテキストボックスのスクロールを行ってくれる. もちろん, パーセンテージ指定が可能.

function inputScrollSelectionIntoView(aInput, aVPercent, aHPercent) {
    let editor = aInput.editor || aInput
        .QueryInterface(Components.interfaces.nsIDOMNSEditableElement).editor;
    let selection = editor.selection;

    aVPercent = typeof aVPercent === "number" ? aVPercent : 50;
    aHPercent = typeof aHPercent === "number" ? aHPercent : 50;

    selection.QueryInterface(Components.interfaces.nsISelection2)
        .scrollIntoView(editor.selectionController.SELECTION_ANCHOR_REGION, true, aVPercent, aHPercent);
},

何をやっているか

XUL の textbox には直接 editor というプロパティが入っているのだけれど, HTML の input, textarea 要素にはそれがない. そこで nsIDOMNSEditableElement を要求し, 強引に editor を得ている.

editor があれば好き勝手が可能で, 今回のように selection を用いてごにょごにょしたり, undo / redo の細かな設定を行ったりすることができる.

というわけで, いまいち誰が得をするのか良く分からないエントリになってしまった. まあ少なくとも僕は恩恵を受けていて, KeySnail で設定ファイル中, エラーが起こった場所をハイライトするためにこの関数を活用している.

f:id:mooz:20100302180400p:image

January 10 (Sun), 2010

Firefox に拡張クリップボード機能を提供するアドオン Clipple

Clipple リリース

Firefox に拡張クリップボード機能を提供するアドオン Clipple をリリースしました。

Clipple ? Firefox 向けアドオン

インストールは上記のページより行うことが可能となっています。

これは何?

通常、一度にクリップボードへコピーしておけるテキストはひとつだけです。しかし、これに不便さを感じている方は少なく無いのではないでしょうか。例えば、私は次のようなことをよくやらかします。

貼り付けようと思ってコピーしておいたテキストを、誤って別のテキストをコピーすることで上書きしてしまった。もう復元は出来ない。どうしよう。

Clipple はそんな方々のために「一度に複数のテキストを保持することが可能な拡張クリップボードシステム」を Firefox へ提供します。

使い方はとても簡単。右クリックから「コピー」を選ぶのもよし、キーボードショートカットからコピーコマンドを呼び出すのもよし。何も特別なことは気にせず、いつも通りコピーをすれば OK。

ただひとつ、今までと違うのは「もうクリップボードの上書きを気にせず、コピーができる」ということだけです。(もちろん拡張クリップボードの数には上限が設けられていますのでその範囲での話となりますが、上限は自由に変更可能です。)

コピーが終わり、貼り付ける段階になったら右クリックから 「Clipple - 貼り付け」 を選びましょう。今までコピーしてきたテキストが一覧表示されているはずなので、あとは張り付けたいテキストを選ぶだけです。簡単ですね。

f:id:mooz:20100111101559p:image

セッションの保存

拡張クリップボードの中身は Firefox が終了しても消滅せず、次回起動時には復元されます。この挙動が嫌だという方は設定ダイアログから変更することも可能です。

f:id:mooz:20100111101558p:image

キーボードから使う

キーボード派の方は keyconfigKeySnail, Vimperator といった拡張機能を使って、キーボードショートカットへ以下の関数を割り当てておくと良いでしょう。

Clipple.pasteMultiple();

ちなみに拙作の拡張機能 KeySnail には拡張クリップボードシステムとして「キルリング」機能が備わっていますので、ユーザの方々にとっては Clipple の存在意義も微妙なところです。

ハック

他のアドオンから使う方法を掲載しておきます。

拡張クリップボードの中身

配列形式で、次の場所に格納されています。

Clipple.modules.clip.ring

私はあまり詳しく無いのですが、 Vimperator の addUserCommand とかで補完候補に含めると面白いんじゃないでしょうか。

明示的に拡張クリップボードを更新

Clipple は cmd_copy コマンドを監視してクリップボードの変更を検知します。そのため nsIClipboard により直接クリップボードの内容が変更する場合などには明示的にクリップボードの変更を知らせてやる必要があります。

次のメソッドにより、 Clipple へクリップボードの変更を伝えることが可能です。

Clipple.copyCommandCalled()

最後に

作っておいてなんですが、キーボード派の人にとっては KeySnail が提供するキルリング機能の方が使いやすいかと思います。

また、こういったクリップボード拡張機能は各プラットフォーム向けのアプリケーションとして数多く存在するので (有名どころでは CLCL など), そちらを使った方が良いかもしれません。当たり前ですが Firefox 外でも使用することが可能ですので。

ただ、私の場合は次のような事情があったので、まあそれなりに自分で使う分には便利なものができたかなと考えています。

  • 様々な OS の入ったマシンを色々な場所で使うので、単一のインタフェースで同じ操作が行えるとうれしい
  • いつも Firefox と Emacs 位しか起動していない

「こんな機能が欲しい」という要望や「動かない」というバグ報告、お待ちしております。

使わさせて頂いてます使わさせて頂いてます 2010/01/12 19:55 IE用には似た感じでClipStorageというフリーソフトがあります。
ClippleとClippingsを足した感じのソフトです。
簡単に言えばクリップボードの履歴とは別に定型文を階層フォルダで登録できるようになっています。マウス派にとってはかなり使い勝手がいいので今後の参考になるのではないでしょうか。

moozmooz 2010/01/12 21:21 おお、アドバイスありがとうございます!
定型文は便利そうですね。面白そうなので、開発を検討してみたいと思います。

gajettogajetto 2010/01/13 16:23 作者様にお願いなのですが、
firefoxアドオン「SearchWP」を入れていると、firefox検索バーの右クリックから「Clipple - 貼付け」が使えません。
どうか対応していただけないでしょうか。

moozmooz 2010/01/13 18:58 >gajetto さん

レビューありがとうございます。検索バーで Clipple が使えないのは
SearchWP との衝突が原因でしたか。

少し調査してみたいと思います。しばらくお待ち下さい。

moozmooz 2010/01/13 20:49 問題を修正したバージョン 0.0.3 をアップロードしておきました。お試し下さいませ。

https://addons.mozilla.org/ja/firefox/addon/58678/

gajettogajetto 2010/01/14 15:23 早速の対応ありがとうございます!!
バージョン 0.0.3 でちゃんと動くようになりました。

色々と検索することが多く、検索バーでの貼付けを行うことが一番多いので、とても助かります。
これからガンガン使い込んでいきたいと思います。
ありがとうございます。

acrossacross 2010/01/20 20:48 作者様にお願いなのですが、
firefoxアドオン「Locationbar² 1.0.4 」を入れていると、firefoxロケーションバーの右クリックから「Clipple - 貼付け」が使えません。
どうか対応していただけないでしょうか。
for Firefox 3.5.7

moozmooz 2010/01/20 23:03 本当ですね。 Locationbar^2 と相性が良くなかったみたいです。

今修正したものをアップロードしておきました。承認までに時間がかかってしまうかもしれませんので、行儀が悪いのですが直リンも載せておきます。

https://addons.mozilla.org/ja/firefox/downloads/file/76435/clipple-0.0.5-fx.xpi

acrossacross 2010/01/22 00:23 ありがとうございます。

susu 2012/07/25 20:52 こんばんは
大変便利に使わせていただいてます

Firefox15からなのですが、右クリックからの「貼り付けして決定」が出来ません。
「Clipple - 貼り付け」の右に(左に)出てくるコピーした一覧の方で出来なくなっています。対応の方よろしくお願いします。

あといつからか分かりませんが、SearchWPを使ってると検索窓に貼り付けた後、コンテンツエリアやロケーションバーにフォーカスを移すと検索窓に貼り付けたものが見えなくなってしまいます。
出来ましたらこちらもよろしくお願いします。

December 29 (Tue), 2009

フォーカスが当たっている要素を Chrome ライクにハイライト

Chrome like highlight

no title

Chrome のアレ

Chrome のアレがうらやましかったので この UserStyle を参考にしてグリモンに。参考にというより、ほとんどまんま。むしろ機能を削った。

視認性がすこぶる良くなったので気に入っているが、ちょっとうるさいと感じるところも。まあその辺りはおいおい。

Before

f:id:mooz:20091230000246p:image

After

f:id:mooz:20091230000245p:image

インストール

コチラから。

tyrutyru 2010/01/02 03:19 素晴らしいです。さっそくインストールしました。

moozmooz 2010/01/02 10:59 ありがとうございます。励みになります。