Windows環境においてウィンドウをマウスオーバーでフォーカスしアクティブにしない設定法まとめ
大半のXウィンドウマネージャでは、ウィンドウをマウスオーバーでフォーカスだけをするようになっている。Windowsでは、通常はマウスオーバーではウィンドウをフォーカスしないが、"コンピュータの簡単操作センター"から、フォーカスするように設定できる。
しかし、この方法では、マウスオーバーするたびにウィンドウがアクティブ化(最前面に押出される)されてしまい、非常に操作しにくいことがある。この問題を解決するために、Xウィンドウマネージャの様に、ウィンドウをマウスオーバーでフォーカスするが、アクティブにはしない設定方法をまとめる。
設定方法
レジストリ[HKEY_CURRENT_USER\Control Panel\Desktop]にあるUserPreferencesMaskの値を、"9F 3E 07 80 12 00 00 00"に変更すれば良い。
また、フォーカスが変わるまでの時間は、レジストリ[HKEY_CURRENT_USER\Control Panel\Desktop]にあるActiveWndTrkTimeoutの値で変更できる。
設定は、以下の手順で行う。
レジストリキーのバックアップ
まず、管理者権限のあるユーザアカウントでログインし、コマンドプロンプトを管理者で実行する。
次に、コマンドプロンプトで以下のコマンドを入力する。
> reg export "HKCU\Control Panel\Desktop" C:\reg_backup.reg
最後に、ドライブC直下に"reg_backup.reg"というバックアップファイルが出力されるので、任意の場所で保管しておく。
レジストリキーの書込み
まず、管理者で実行したコマンドプロンプトで、以下のコマンドを入力し、UserPreferencesMaskの値を変更する。
> reg add "HKCU\Control Panel\Desktop" /v "UserPreferencesMask" /t REG_BINARY /d 9F3E078012000000
次に、以下のコマンドでActiveWndTrackTimeoutの値を変更する。
時間(/d に続く数値)はミリ秒の任意の値を入力する。
(個人的には100くらいが丁度良いと思う。小さすぎる値にすると、タスクバー上のプレビューなどが使いづらくなるので。)
最後に、一旦ログオフして再度ログインする。
> reg add "HKCU\Control Panel\Desktop" /v "ActiveWndTrkTimeout" /t REG_DWORD /d 100
復旧方法
バックアップした"reg_backup.reg"ファイル上でメニューを開き、結合を実行する。
参考サイト
- Windows7 マウスオーバ フォーカス移動 - とあるシステムエンジニアの徒然草
http://k-shrimp-ebi.blogspot.jp/2012/04/windows7.html