InputSwitcher

InputSwitcher とは

InputSwitcher とは、Leopard 上で、入力ソースの状態をアプリケーションごとに保持するようにするためのユーティリティです。Tiger 以前では、動作しません。

インストール方法

InputSwitcher の動作には、SIMBL が必要です。 以下の URL からダウンロードして、インストールしておいてください。

InputSwitcher 1.0 (2009.01.04) をダウンロードします。

dmg に含まれているファイルを以下のようにコピーしてください。

その後、InputSwitcher.app を起動し、他のアプリケーションをすべていったん終了させて再起動すると使える状態になっています。 各アプリケーションで Cmd+Space や Cmd+Option+Space を押し、入力ソースの状態を切り替えてみて動作を確認してください。

アンインストール方法

InputSwitcher は初回起動時にログイン時に起動するようになっているので、「システム環境設定」→「アカウント」→「ログイン項目」タブで InputSwitcher を削除してください。

次に、以下のファイルを削除してください。

これでアンインストールは完了です。

最後に、アクティビティモニタで動作中の InputSwticher.app を終了させることで、OS を再起動することなく完全に動作を停止させることができます。

このソフトは何をしているのか

Leopard では、アプリケーションごとに入力ソースの状態を保持してくれなくなりました。つまり、入力ソースの状態はグローバルで、あるアプリケーションで日本語にすると、他のアプリケーションにフォーカスを移しても、日本語のままになります。

InputSwitcherClient.bundle は、SIMBL 経由で各アプリケーションのプロセスに潜り込み、アプリケーションの activate と、deactivate の2つのイベントを、あらかじめ起動しておいた InputSwitcher.app に通知します。

InputSwitcher.app は、各アプリケーションごとに入力ソースの状態を保持しています。activate イベントの通知を受け取ったときに、入力ソースをオン・オフして、以前の入力ソースの状態に復元します。deactivate イベントの通知のときに、入力ソースの状態を覚えておきます。

こうすることで、Leopard でも入力ソースの状態を各アプリケーションごとに別々に保持することができるようになります。

なお、現在の実装上、いくつかの制限があります。

Cocoa アプリケーションでしか動作しないので、以下のソフトでは動作しないことを確認しています。その場合でも、内部的にグローバル状態を別に保持しておいてそれを適用しているので、支障なく利用できると思います。

まれに、Thunderbird がアクティブになった瞬間に入力ソースの状態を変えると、そこから Cmd+Space を押しても入力ソースの状態を変えられなくなることがあるという不具合を確認しています。そのため、他のアプリケーションから Thunderbird にフォーカスを移したときにだけ、入力ソースの状態を変えないようにしてあります。

Apple にバグレポートを送ってください

問題の原因は、Apple が Leopard でウィンドウごとに入力ソースを保持するオプションをなくしてしまったことです。

この問題を回避するために InputSwitcher を開発しましたが、うまく動かない場合や問題が多く、やはり OS にオプションをもう一度付けてもらうことが一番いい解決策だと思います。

それを実現させるために、下の URL から Apple にバグレポートを送ってください。ユーザからの声が多く届けば届くほど、Apple 内部の開発者は要望に応えるように動きやすくなるようです。

https://bugreport.apple.com/

みなさんからの数多くのバグレポートのおかげで、このオプションが Snow Leopard で復活しました。ご協力ありがとうございました。

作者と連絡先

Satoshi Nakagawa

更新履歴

1.0 (2009.01.04)
  • Removed work around for Firefox. Because it's a Cocoa app now.
0.6 (2008.01.25)
  • Do not change the input source state when the next active application is Thunderbird.
0.5 (2007.11.18)
  • Improved Quicksilver support. Always select an ASCII input source.