2013年6月24日月曜日

Firefox のアドオン KeySnail で「最小フォントサイズ」を変更するホットキーを設定する

1. Firefox で「最小フォントサイズ」を指定すると表示が崩れる

SnapCrab_No-0291Firefox 21 で Google ドライブのスプレッドシートを開くと、表示が崩れる。「行番号」が大きくなるに連れ、隣のセルが徐々にズレていく。

このような表示になった原因は、「最小フォントサイズ」を指定していたため。

  • オプション > コンテンツ > フォントと配色 > 詳細設定

において、「最小フォントサイズ」を「なし」に設定すると、正常に表示される。

最近では、Feedly のバージョン 16.0.500 でも同じような問題が生じていた。

だたし、Google Chrome で「最小フォントサイズ」を指定しても、どちらのアプリケーションとも問題なく表示される。

 

2. KeySnail で最小フォントサイズを変更するホットキーを設定する

Firefox で「最小フォントサイズ」を指定するには、いくつか手順を踏む必要がある。「最小フォントサイズ」を指定したり、「なし」に設定する操作に対してホットキーを付けたい。

SnapCrab_No-0305keysnail は特定の操作に対してキーを割り当てることができるアドオン。このアドオンを用いて、「最小フォントサイズ」を切り替えるホットキーを設定する。

最初に、KeySnail のインストールと初期設定を行う。

次に、「最小フォントサイズ」を設定する操作に対して、ホットキーを設定する。

  • アドオンバーにある KeySnail アイコンを右クリック > 設定ダイアログを開く

キーバインド」タブを選択し、下部に表示される「追加」ボタンを押し、「オリジナルのコマンド」を選択する。

SnapCrab_No-0306

  1. コマンド名」を「最小フォントサイズを変更する」とした。
  2. 今回は、Alt + 0 をホットキーとして割り当てる。「キー」フィールドで同キーを入力する。
  3. 「関数」の欄には、以下のコードを挿入して、OK ボタンを押す。
function (ev, arg) {
    const MIN_FONT_SIZE = 14, // 最小フォントサイズ
	CONFIG_PREFIX = "font.minimum-size.",
	COUNTRY_CODES = ["ar", "el", "he", "ja", "ko" , "th", "tr",
			 "x-armn", "x-baltic", "x-beng", "x-cans", "x-central-euro",
			 "x-cyrillic", "x-devanagari", "x-ethi", "x-geor", "x-gujr",
			 "x-guru", "x-khmr", "x-knda", "x-mlym", "x-orya", "x-sinh",
			 "x-tamil", "x-telu", "x-tibt",
			 "x-unicode", "x-user-def", "x-western",
			 "zh-CN", "zh-HK", "zh-TW" ];
    var minFontSizeNow = util.getIntPref(CONFIG_PREFIX + "ja"),
	setMinFontSize = function(fontSize){
	COUNTRY_CODES.forEach(function(countryCode){
		util.setIntPref(CONFIG_PREFIX + countryCode, fontSize);
	    });
    };
    minFontSizeNow == MIN_FONT_SIZE ?
	setMinFontSize(0) :
	setMinFontSize(MIN_FONT_SIZE);
}

ここでは「最小フォントサイズ」を 14 とした。もし、別の大きさに設定したい場合、この値を変更すれば良い。

 

3. 関数について

about:config で最小フォントサイズを変更

最小フォントサイズは、abuot:config の設定において、

  • font.minimum-size.

により設定名を抽出し、各々の値を変更した。

 

about:config の設定値を KeySnail で変更

KeySnail で、about:config の値を変更するには、

KeySnail 0.5.2 をリリースしました - mooz deceives you > お手軽 about:config によると、

util.setPrefs() メソッドを追加しました。このメソッドを使うと about:config の値を .keysnail.js 内で簡単に設定することが出来ます。

util.js · mooz/keysnail Wiki · GitHub に util のドキュメントが存在する。ただし、全ての関数の解説があるわけではない。

より、getIntPref(), setIntPref() 関数が定義されていたので、これを利用して about:config の値を設定した。