FreeBSDでのFirefoxのバージョンについてです。 ただし、以下で説明するすべては、Linuxのバージョンに非常に適用可能です。 Windowsの場合、すべてがそれほど単純ではなく、他の方法で解決できます。
FirefoxでEmacsスタイルのキーボードショートカットを「埋め込む」方法と、リンクのように見えるもの( http://プレフィックスなど)だけでなく、マウスのミドルクリックでFirefoxコンテンツを読み込む方法について説明します。 。
トピックが興味深い場合は、猫の下でお願いします。
だから。 さまざまな理由でシェル(特にbash)を使用している私たちはそれぞれ、おそらくEmacsスタイルのキーバインドに精通しています。 例:
Ctrl-a:行の先頭に移動します
Ctrl-e:行末に移動
Ctrl-u:行の先頭まで削除
Ctrl-k:行末まで削除
等
私はこれらのキーボードショートカットの使用に慣れているため、他のプログラムで頻繁に使用しようとしています。 特に、Firefoxで。 ただし、これは予期しない結果につながります。 たとえば、「Ctrl-w」の組み合わせは、カーソルの前の単語を削除する代わりに、単に現在のタブを閉じます。
むかしむかし、私はこの状況にうんざりしていて、 MozillaZineの広大さに見られる方法を使いました。 それ以来、Firefoxのすべてのアップデートでこのソリューションを使用しています。 以下に一連のアクションを説明します。
まず、Firefoxをインストールする必要があります。 FreeBSDでは、portsコレクション( ports / www / firefox )からインストールできます。 次に、 toolkit.jarファイルを取得する必要があります。 デフォルトでは、FreeBSDでは、 / usr / local / lib / firefox / chrome /ディレクトリにインストールされます。 次に、それを開梱する必要があります。 これを行うには、JDK配信のjarユーティリティ、 fastjarユーティリティ( ports / archivers / fastjar )、または通常のunzipを使用します。
mkdir /tmp/firefox/ && cd /tmp/firefox/ && cp /usr/local/lib/firefox/chrome/toolkit.jar /tmp/firefox/ && fastjar -xf toolkit.jar
アーカイブの内容が現在のディレクトリに解凍されます。 次に、次をcontent / global / platformHTMLBindings.xmlファイルに追加します。
1)<binding id = "inputFields">の<handlers>セクションへ
<!-- Emacsish single-line motion and delete keys --> <handler event="keypress" key="a" modifiers="control" command="cmd_beginLine"/> <handler event="keypress" key="e" modifiers="control" command="cmd_endLine"/> <handler event="keypress" key="b" modifiers="control" command="cmd_charPrevious"/> <handler event="keypress" key="f" modifiers="control" command="cmd_charNext"/> <handler event="keypress" key="h" modifiers="control" command="cmd_deleteCharBackward"/> <handler event="keypress" key="d" modifiers="control" command="cmd_deleteCharForward"/> <handler event="keypress" key="w" modifiers="control" command="cmd_deleteWordBackward"/> <handler event="keypress" key="u" modifiers="control" command="cmd_deleteToBeginningOfLine"/> <handler event="keypress" key="k" modifiers="control" command="cmd_deleteToEndOfLine"/>
2)<binding id = "textAreas">および<binding id = "editor">セクションの<handlers>セクション
<!-- Emacsish single-line motion and delete keys --> <handler event="keypress" key="a" modifiers="control" command="cmd_beginLine"/> <handler event="keypress" key="e" modifiers="control" command="cmd_endLine"/> <handler event="keypress" id="key_left" key="b" modifiers="control" command="cmd_charPrevious"/> <handler event="keypress" id="key_right" key="f" modifiers="control" command="cmd_charNext"/> <handler event="keypress" id="key_delback" key="h" modifiers="control" command="cmd_deleteCharBackward"/> <handler event="keypress" id="key_delforw" key="d" modifiers="control" command="cmd_deleteCharForward"/> <handler event="keypress" id="key_delwback" key="w" modifiers="control" command="cmd_deleteWordBackward"/> <handler event="keypress" id="key_del_bol" key="u" modifiers="control" command="cmd_deleteToBeginningOfLine"/> <handler event="keypress" id="key_del_eol" key="k" modifiers="control" command="cmd_deleteToEndOfLine"/> <!-- Emacsish multi-line motion and delete keys --> <handler event="keypress" id="key_linedown" key="n" modifiers="control" command="cmd_lineNext"/> <handler event="keypress" id="key_lineup" key="p" modifiers="control" command="cmd_linePrevious"/>
その後、アーカイブを
fastjar -cf toolkit.jar */
戻します: "
fastjar -cf toolkit.jar */
"(または "
zip -r
"を使用)。 そして、ソースディレクトリに移動します。
mv toolkit.jar /usr/local/lib/firefox/chrome/toolkit.jar
これにはルート権限が必要です。 また、もちろん、 toolkit.jarファイルを最初にバックアップする必要があります。
Firefoxを再起動し、ブラウザーのアドレスバーを含むすべてのテキストフィールドにEmacsスタイルのキーボードショートカットが表示されるようにします。
Firefoxの新しいバージョンがリリースされるたびにcontent / global / platformHTMLBindings.xmlファイルの内容を掘り下げないように、これらの変更をパッチでラップしました。
続けましょう。 Firefoxの4番目のバージョンから、マウスの中ボタンをクリックすることで、このリンクに対応するプレフィックス( http://など)がない場合、ブラウザーがクリップボードからリンクをダウンロードしようとすることはなくなりました。 つまり、たとえば、Webサーバーのログから、仮想ホストの名前をコピーしてブラウザーでそのWebサイトを見る場合、ブラウザーウィンドウの通常の中央クリックの代わりに、アドレスバーにカーソルを置き、そこにコンテンツを貼り付ける必要がありますクリップボードとEnterキーを押します。 控えめに言っても、この革新は私を非常に落胆させ、ウェブ上のソリューションを探すことに再び向きを変えました。 そして解決策が見つかりました。 これには、上記の方法と同じ手順が含まれます。 編集するファイルのみが異なります。 ディレクトリ/ usr / local / lib / firefox / chrome /からbrowser.jarファイルを取得し、バックアップして展開します。 さらに、ファイルコンテンツ/ browser / browser.jsで次のブロックを見つけます。
try { makeURI(url); } catch (ex) { // Not a valid URI. return; }
そして、これに置き換えます:
var URIFixup = Components.classes["@mozilla.org/docshell/urifixup;1"] .getService(Components.interfaces.nsIURIFixup); url = URIFixup.createFixupURI(url, 1).spec; // 1 is FIXUP_FLAG_ALLOW_KEYWORD_LOOKUP
新しく作成したbrowser.jarを保存し、パックバックして、 / usr / local / lib / firefox / chrome /ディレクトリに戻します。 ブラウザを再起動し、 about:configでcontentLoadURLオプションがtrueであることを確認し、結果を楽しんでください:マウスの中ボタンをクリックすると、ブラウザは、リンクと見なされるコンテンツだけでなく、クリップボードからコンテンツをロードしようとします。
前の方法については、 適切なパッチを使用することもできます。
どちらの方法も長い間使用されており、最近リリースされたFF 10.0ですでにパフォーマンスがテストされています。
このアプローチのマイナス点:Firefoxを更新するたびにパッチを適用する必要があります。
この記事がお役に立てば、あなたのお気に入りのブラウザで作業することで、誰かにさらに満足と楽しみをもたらすことを願っています。
この記事では次の資料が使用されました。
1. Emacsキーバインド-Firefox (MozillaZine)。
2. Firefox 4:middlemouse.contentのロードを修正し、jar (ShallowSky.com) をハッキングします 。