Unixの日常生活でより快適で便利に使用するためのFirefoxの2つのレシピ「料理」をhabrosocietyと共有したいと思います。
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>セクションへ <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>セクション <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"/> <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) {
そして、これに置き換えます:
var URIFixup = Components.classes["@mozilla.org/docshell/urifixup;1"] .getService(Components.interfaces.nsIURIFixup); url = URIFixup.createFixupURI(url, 1).spec;
新しく作成した
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)
をハッキングします 。