Jun 18, 2008

Firefox 3のロケーションバーにフォーカスを移したときに必ず日本語入力を無効にする方法

既出だと思うけど。userChrome.cssに以下の内容を書けば、ロケーションバーにフォーカスしてURIを入力しようとして日本語入力になっててムキー!!!となる事態を防げる。

#urlbar *|input {
  ime-mode: inactive !important;
}

ただし副作用として(というか当たり前だけど)毎回必ず日本語入力をONにしないといけなくなる。スマートロケーションバーでポップアップされた候補を上下キーで選び始めてから「やっぱり別の入力で」と思ってロケーションバーにフォーカスを戻してもう一度入力をやり直す、という場合でも日本語が勝手にOFFになる。これを解決しようと思ったらスクリプト(userChrome.jsかアドオン)で動的に上記のスタイル指定を与えたり外したりしないといけない。

ちなみに、XUL/Migemoは直接入力でローマ字入力を行わないとまともに動かないので、最近のバージョンでは検索バーのテキストボックスに対してそういう処理(スクリプトで一時的にIMEを無効化する)をしている。

19日追記。というわけで作ってみた(Auto Disable IME 0.1.2008061901)。動的にIMEのON/OFFを切り替えるので、上のスタイル指定と違い、スマートロケーションバーで候補を表示した後にフォーカスを戻した時などはそのままIME ONの状態が維持される。たったそれだけのアドオンです。WindowsとMac OS XのFirefox 3以降専用で、Linuxでは動かない。

公開してから気付いたけど、IME and DiMENSiONにも同じ機能があったのね……まあFx3以降のネイティブ機能によるミニマム実装ということでどうかひとつ。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能