前回のGreasemonkeyでテキストエディタは思った以上に、反響があってビックリでした。はてなポイントまでいただいて感謝。これはうれしい。
ということで、第2弾行ってみます。
Greasemonkeyでランチャーです。
荒削りだけど、頻繁に見るページ、よく使うWebアプリなどを登録しておけば、たぶん便利!
前回のスクリプトに機能を付け足しています。
簡単な使い方
インストールしたら、新しいページを開いて
日本語入力がOFFになっているのを確認してから"q"キーを押します。
すると以下のようなランチャーが起動します。
"q"キーで、次のメニューへ移動。
"shift + q"キーで、前のメニューへ移動。
"enter"でフォーカスされているメニューを開きます。
他の機能
起動するとブラウザのどのタブで起動してるかわかるようにページタイトルの頭に'+'がつきます。
ランチャーを起動した状態で、"shift + s"キーを押すと、設定画面に移ります。
自分で、メニューを追加することができます。
使い方は見ればだいたいわかるかと。
メニューを追加したあと、ページを再読み込みするか、新しいページを開くと設定が反映されます。
ちょっとやっつけで付け足したので超荒削りです。
アイコンは、各サイトの favicon.ico を取得して表示します。favicon.ico がない場合、HTMLアイコンで表示します。
前回の吼えディタのスクリプトに後付けしたので、"e"キーでエディタを起動することもできます。
Todo
- bookmarkletの登録 ←必要?
- 直接サーチエンジンの検索結果にジャンプ
- アイコン(favicon.ico)のキャッシュ
→ 現時点では GM_xmlhttpRequest で取得して追加なので、ページの反応が早い順に並んでしまってる。
他のスクリプトが GM_xmlhttpRequestを使ってる場合も待たされるので要修正。 - メニュー頭文字キーで頭出し
- メニュー設定をドラッグ&ドロップで並び替え
- メニュー設定を名前を付けて保存 ←必要?
- メニュー設定の変更後、即座に反映させる
注意点
機能拡張の mozless を入れている人限定ですが、"shift+q"がウィンドウを閉じる機能に割り当てられていて、いきなりウィンドウが閉じるので注意。
吼えディタも若干バージョンアップしてます。
修正点
- iframeの中まで生成されていたのを修正 ←高負荷?
参考: 人力検索はてな - Greasemonkeyで、すべてのページのbodyタグのすぐ後ろにタグを挿入するスクリプトを書いたのですが、FRAMEやIFRAMEが使われているページではフレーム内のbodyにも適用され..
http://q.hatena.ne.jp/1153500408
- GmailにタイトルとURLが含まれていたのを修正
謝辞
以下のライブラリやTipsを使わせていだたきました。
最速インターフェース研究会 :: キー割り当て用ライブラリを作った
http://la.ma.la/blog/diary_200511041713.htm
Lucky bag::blog: CSS だけで Mac OS X の Dock 風ナビゲーション
http://www.lucky-bag.com/archives/2006/03/css-navigation-magnification.html
CSS Drop Shadows | Design Meme
http://www.designmeme.com/articles/dropshadows/
技術メモ帳 - 拡張子に対応したアイコンの取得
http://d.hatena.ne.jp/lurker/20060830/1156939863
以下、余談
だんだんスクリプトが肥大化してます。自分の腹並。圧縮したい。
2006/11/29 追記
ショートカットキーの修正とあわせていくつか機能変更・追加しました。
- 吼えディタのおまけ機能として、"Ctrl+e"でページのソースを"タブ1"に読み込む機能がありましたが、ショートカットキーを"Shift+e"に変更。
- メニュー登録が増えすぎると、折り返してしまう問題があったので、とりあえず横幅を3倍にしてみた(1000px→3000px)。
- Escキーで吼えディタ・ランチャーともに終了します。
→実装してたんですが、書き忘れてました。
shift+5で吼えディタが起動するのですが、これは仕様ですか?
すみません間違えました。スペースキー+5です。
> ラルさん
コメント&ご指摘ありがとうございます。
> "スペースキー+5"で吼えディタ
うおおお、たしかに。
日本語入力OFF時に、スペースキーとテンキーの"5"を押すと吼えディタが起動しますね。
もちろん意図した仕様ではありません(^^;
何かのショートカットとかぶってしまってますか?
ご不便なようでしたら、直してみます。
↓のページで調べてみたところ
keyイベント(keypress,keyup,keydown)の確認
http://www.enjoyxstudy.com/misc/20060624/event_view.html
テンキーと通常のキーでは、keyコードが異なるんですね。その辺が関係してそうです。
返信ありがとうございます^^
Hit-a-Hintという拡張を使っているのですが、これで
リンクを選択する時にスペースキーとテンキーを使う
ので、直していただければ嬉しいです。
よろしくお願い致します。
> ラルさん
お待たせしました。
修正しましたのでインストールしてみてください。
"Hit-a-Hint"、初めて知りました。
キーボードでブラウズするには便利そうな拡張ですねー。
また試してみたいです。
本文にも書いておきますが、付随していくつか修正・追加があります。
・吼えディタのおまけ機能として、"Ctrl+e"でページのソースを"タブ1"に読み込む機能がありましたが、ショートカットキーを"Shift+e"に変更。
・メニュー登録が増えすぎると、折り返してしまう問題があったので、とりあえず横幅を3倍にしてみた。
・Escキーで吼えディタ・ランチャーともに終了
→実装してたんですが、書き忘れてました。
また、なにかお気づきの点がありましたら、お気軽にコメントいただければ、嬉しいです。ありがとうございました。
どうもありがとうございました。
テンキー問題も解決されて快適に使えるようになりました^^これからも頑張ってください。
個人的にはランチャーのみverとか欲しかったり。
> DeaR さん
コメントありがとうとございます。
密かにコードを整理して、共通、ランチャー、テキストエディタの各クラスに分離しました。テキストエディタクラスを消すことで、ランチャーのみにできます(未確認
ランチャーの動作も若干軽快になっとります。
ランチャ・エディタ共に愛用させて戴いております。ありがとうございます。
ところで、sを押すとなにやら検索機能が動くようなのですが、これは仕様でしょうか?
あと、エディタで「保存/終了」からページにもどってCtrl+Cで文字列をコピーしようとしても出来なくなっています。ESCで戻るとコピーできるようなのですが。
> FUNKさん
ご質問ありがとうございます。
お返事遅くなってすみません。
ご利用ありがとうございます。
> ところで、sを押すとなにやら検索機能が動くようなのですが、これは仕様でしょうか?
その後も、ちょこちょこ機能を追加してました。
詳しくは↓をご覧ください。
Greasemonkeyでサーチエンジン
http://a-h.panepon.com/einfach/archives/2007/0110184405.html
もし、使われない場合は、機能はOFFにできるようにもしたので、↑のTipsを参考にしてみてください。
> あと、エディタで「保存/終了」からページにもどってCtrl+Cで文字列をコピーしようとしても出来なくなっています。ESCで戻るとコピーできるようなのですが。
おおお、ホントですね。なんでだろう?
IMEを自動でOFFにするなどの処理を入れていたせいかも・・・。
調べてみます。お待ちを。