Hatena::Groupkeysnail

きすねた(ん)

2010-12-02

Yet Another Twitter Client KeySnail 2.2.2

| 02:02 | Yet Another Twitter Client KeySnail 2.2.2 - きすねた(ん) を含むブックマーク はてなブックマーク - Yet Another Twitter Client KeySnail 2.2.2 - きすねた(ん)

変更点

no title

LorraineLorraine2011/10/06 00:45Most help articles on the web are inaccurate or incrohenet. Not this!

2010-11-28

Yet Another Twitter Client KeySnail 2.2.0

| 22:05 | Yet Another Twitter Client KeySnail 2.2.0 - きすねた(ん) を含むブックマーク はてなブックマーク - Yet Another Twitter Client KeySnail 2.2.0 - きすねた(ん)

なかなか致命的なバグを修正.

変更点

  • バグ修正
    • ネットワークが一時的に切れる, Twitter の調子が一時的におかしい, などでステータスの取得に失敗した場合, 更新がそれきり停止してしまう問題を修正

2010-10-18

Mac でも Ctrl-Space でマークを設定可能とするプラグイン

| 00:31 | Mac でも Ctrl-Space でマークを設定可能とするプラグイン - きすねた(ん) を含むブックマーク はてなブックマーク - Mac でも Ctrl-Space でマークを設定可能とするプラグイン - きすねた(ん)

最近, 本格的に Mac を使い始めたのだが, Mac 版の Firefox では Ctrl-Space を押すとコンテキストメニューが開いてしまう. 調べてみると, Ctrl-Space に対しては keypress イベントが送られていないことが分かった. KeySnail は keypress イベントをハンドリングしているのだが, それが送られないのであればコマンドの実行もしようがない.

さて, どうしたものかと考えていたところ, keydown と keyup に関しては, Ctrl と Space どちらに対しても別々にではあるが取得可能であることが判明. これは何とかできるのではないか, とごにょごにょし, 何とか納得のいく挙動を実現することができた.

そんなわけで作成された "Set Mac" というプラグインは, 以下よりインストールすることが可能. 下の方にある.

no title

junkwjunkw2010/12/13 18:35Mac で KeySnail を愛用させてもらっているのですが、メタキーを Option キーに割り当てるにはどうすればいいのでしょうか?

moozmooz2010/12/13 23:36試していないので確かなことは言えないのですが, Option キー自体を Firefox がハンドリング出来なかったと思うので,
残念ながら Option キーをメタキーとして扱うことは難しいかと思います.

moozmooz2010/12/13 23:40ちなみに, メタキーとして認識させたいキーを変更する場合は .keysnail.js の PRESERVE エリア内で, 次のようにして
isMetaKey の定義を上書きします.

key.isMetaKey = function (ev) {
return ev.altKey || ev.metaKey;
};

ev には Firefox のキーイベントが渡ります.

ここで, ctrlKey, metaKey, commandKey, shiftKey というプロパティは定義されているのですが,
optionKey というプロパティは存在しないと思うので, おそらく無理なのではないかという結論に至りました.

moozmooz2010/12/13 23:47あ, http://unixpapa.com/js/key.html を見ると Mac においては Option キーで altKey が true となると書いてありますね.
Option キーを押しながらの特殊文字入力機能を無効にするとうまくいく可能性がありますね.

junkwjunkw2010/12/14 22:14返信ありがとうございます。どうやら特殊文字入力機能の無効化は GUI でも、defaults コマンドでも提供されていないようです (コマンドは探せばもしかするとあるのかもしれませんが、みつけられませんでした)。

starposstarpos2010/12/15 06:17環境設定 > コンテンツ > Javascrit 詳細設定 > コンテクストメニューを無効化または変更する をチェックしないといけないことを知らなくてハマりました(Firefox 3.6.13).
http://www.htmlguard.com/articles/disabling-the-context-menu-in-firefox/

2010-07-26

KeySnail 1.6.4

| 01:36 | KeySnail 1.6.4 - きすねた(ん) を含むブックマーク はてなブックマーク - KeySnail 1.6.4 - きすねた(ん)

変更点

  • Awesome Bar で文字を入力した際に出現した候補を C-n / C-p などにより選択すると URL バーに表示される文字列と選択中の候補が一致しなくなってしまう問題を修正
  • 立ち上がりを高速化
  • 再起動の挙動を修正 (id:Shinnya++)
  • Firefox 4.0b3pre をサポート

Shadow912Shadow9122010/08/04 22:11KeySnail 1.6.5
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 Build ID: 20100722155716
javascript.options.showInConsole: true
javascript.options.strict: true
の環境で、エラーコンソールに以下の警告、エラーが出ています。
==========
警告: anonymous function does not always return a value
ソースファイル: chrome://keysnail/content/modules/util.js
行: 752, 列: 23
ソースコード:
return dir;
==========
警告: anonymous function does not always return a value
ソースファイル: chrome://keysnail/content/modules/userscript.js
行: 578, 列: 8
ソースコード:
},
==========
警告: variable text redeclares argument
ソースファイル: chrome://keysnail/content/modules/prompt.js
行: 1561, 列: 20
ソースコード:
let text = text || (pwd + delimiter);
==========
警告: variable args redeclares argument
ソースファイル: chrome://keysnail/content/modules/vimp.js
行: 205, 列: 9
ソースコード:
let [args, state] = completer.utils.lex(left);
==========
エラー: Cc is not defined
ソースファイル: chrome://keysnail/content/keysnail.js
行: 32
==========

moozmooz2010/08/08 10:16報告ありがとうございます.
修正したバージョン 1.6.6 を近日中にアップロードします.

Shadow912Shadow9122010/08/11 12:38修正版 KeySnai 1.6.6 リリースありがとうございます。が、問題が2点ほどありますので報告させていただきます。
1. 前回コメントのエラーに関しては修正されていますが、警告の方はいまだ修正されていないようです
2. install.rdf の updateKey が 1.6.5 以前のものと 1.6.6 のもので違っているようです
 そのため 1.6.5 以前をインストールしている場合、アドオンマネージャからのアップデートチェックのときに以下のエラーを吐いて、アップデートに失敗します。
=====
警告: RDFItemUpdater:onDatasourceLoaded: Update manifest for keysnail@mooz.github.com failed signature check.
=====

updateURL/updateKey, install.rdf:
=====
----- 1.6.6
<em:updateURL>http://github.com/mooz/keysnail/raw/master/update.rdf</em:updateURL>
<em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGO9hYnSCroKCLRqGbV1czqWsQfZBsuU3EjnvumarZYQ4YE5tp3RCSploa6+qs4GLL7/aqtDnasWlM+cECJDh2XdrhHjm+vxc4X38Ym7BRL1x/Np0ujQ7o0F6hdD9CGPFdOvYMgqszO8GxJg8eshaTy1nr8fStUF9HwVXRfYqT1QIDAQAB</em:updateKey>
----- 1.6.5
<em:updateURL>http://github.com/mooz/keysnail/raw/master/update.rdf</em:updateURL>
<em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTIIo3r67JK6DJIBYyczbI/NrGurO0k5Cwn5rvXlNsRrA0LgAuCnofEdlicwxpmItBuwfdRJdZlKnaupJZPKrLoZz3t3BR4O4rBDKlY5rZM6Doqd5lBHAOXiZ35KsV4se7NKWvAZSqcpt6SLoL/YnjJ/o3Rz86i7E6BePcvutxoQIDAQAB</em:updateKey>
----- 1.6.4
<em:updateURL>http://github.com/mooz/keysnail/raw/master/update.rdf</em:updateURL>
<em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTIIo3r67JK6DJIBYyczbI/NrGurO0k5Cwn5rvXlNsRrA0LgAuCnofEdlicwxpmItBuwfdRJdZlKnaupJZPKrLoZz3t3BR4O4rBDKlY5rZM6Doqd5lBHAOXiZ35KsV4se7NKWvAZSqcpt6SLoL/YnjJ/o3Rz86i7E6BePcvutxoQIDAQAB</em:updateKey>
----- 1.6.3
<em:updateURL>http://github.com/mooz/keysnail/raw/master/update.rdf</em:updateURL>
<em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTIIo3r67JK6DJIBYyczbI/NrGurO0k5Cwn5rvXlNsRrA0LgAuCnofEdlicwxpmItBuwfdRJdZlKnaupJZPKrLoZz3t3BR4O4rBDKlY5rZM6Doqd5lBHAOXiZ35KsV4se7NKWvAZSqcpt6SLoL/YnjJ/o3Rz86i7E6BePcvutxoQIDAQAB</em:updateKey>
=====

moozmooz2010/08/15 18:34毎度ありがとうございます……

警告については, 動作に問題がないので後回しにしてしまいました.

updateKey についてですが, 開発環境を新調した際に変わったようです. 以前のものに戻すことも可能ですが, 色々と面倒です……

2010-07-06

KeySnail 1.6.3

| 23:59 | KeySnail 1.6.3 - きすねた(ん) を含むブックマーク はてなブックマーク - KeySnail 1.6.3 - きすねた(ん)

  • Minefield 4.0b2pre をサポート
    • @mal_blue 大先生にやって頂きました. ありがたやありがたや.

Shadow912Shadow9122010/07/08 01:04当たり前といいましょうか、Fx 3.6(以前)では chrome.manifest の JavaScript モジュール登録の新文法に関して「理解できません」と警告を吐いていますね。単に無視するだけのようなので、KeySnail の動作自体に問題はないようですが。
この問題、おそらく appversion とかのフラグを付けても無駄でしょうから「厳密には」Fx 3.6/TB 3.1(Mozilla 1.9.2) 以前と Fx 4/TB 3.2(Mozilla 2) 以降に両対応の chrome.manifest は書けない、両対応の拡張は作れないということですよね…

moozmooz2010/07/08 01:28警告, 確かに出ているようですね.
ただ, Adblock (Fx 4 対応済み) も components で XPCOM を登録しているようなのですが, こちらに関しては警告が出ていませんでした. chrome.manifest では従来の記法しか使っていないようです.
この辺り, 資料が以下のものぐらいしか見つからないので, もう少しまとまったものが出てくるまでは身動きできないですね……
https://bugzilla.mozilla.org/show_bug.cgi?id=568691

Shadow912Shadow9122010/07/08 21:03AMO で公開されている Adblock Plus 1.2 なら chrome.manifest に新文法は使っていないので、警告は出ません(というか JavaScript モジュールとして登録していないので、Minefield でも問題なくそのまま動作している?)。開発者サイトにある dev. build 1.3系なら、新文法を使っているので同様に警告が出ます。

私自身は自前の XPCOM や JavaScript モジュールを必要とする拡張を書いたことがないので情報収集も甘いですが、知る限りのリソースは (件の Bugzilla のリンクからたどれますが) 以下のページだけですね。
https://wiki.mozilla.org/XPCOM_Startup
https://developer.mozilla.org/en/XPCOM/XPCOM_changes_in_Gecko_1.9.3

moozmooz2010/07/09 00:46なんと, そうでしたか. 調査不足でした.
https://developer.mozilla.org/en/XPCOM/XPCOM_changes_in_Gecko_1.9.3 というページがあったのですね. 大変参考になりそうです. 土日にでもじっくり読んでみたいと思います.