(私がそれを望むことがどれほどクレイジーかについては聞きたくありません! :)
フォーカス フォロー マウスは、ポイント ツー フォーカス、ポインター フォーカス、および (一部の実装では) ずさんなフォーカスとしても知られています。[これをより検索しやすくする他の用語を追加してください!] X-mouse
コマンドラインで次のコマンドを発行することにより、Terminal.appに対してこれを行うことができます。
defaults write com.apple.Terminal FocusFollowsMouse -bool true
X11アプリの場合、これを行うことができます。
defaults write com.apple.x11 wm_ffm -bool true
Snow Leopardでは、代わりにこれを使用してください。
defaults write org.x.X11 wm_ffm -bool true
どうやら、システム全体でそれをエミュレートするCodeTek Virtual Desktopと呼ばれるプログラムがありますが、それは$$かかります(そして彼らはOSX Leopard用のバージョンを決して出しませんでした)。
スティーブ・エッゲはしばらく前にこれについてのエッセイを書きました、そこで彼は適切な拡張を書こうとしましたが失敗しました。それ以来、OS X用のfocus-follows-mouseアプリケーションを見つけようとしましたが、失敗しました。
これは完全な解決策にはほど遠いですが、OSX (10.11) に組み込まれている 2 つの便利なアクションは次のとおりです。
⌃⌥-クリック(control-option-クリック) - ウィンドウを上げずにフォーカスを切り替える
⌘-クリック(コマンド-クリック) - フォーカスを切り替えずにウィンドウ内をクリック
どこにも書かれていないので、これらのショートカットがいつ導入されたのかはわかりません。
OS X のメニュー バーは画面の上部に表示されるように設計されているため、Focus-follows-mouse は OS X に特に適した入力方法ではありません。アプリケーション ウィンドウの外にマウスを移動してメニューに移動するときに、途中で他のアプリケーションのウィンドウを横切ると、メニューが変更されます。
はい、ドリーブスのコメントへの返信で、ターミナル(またはデスクトップ上の他の単一のアプリケーション)で完全に正常に動作します。影響を受ける他のウィンドウはターミナルウィンドウのみであるため、ウィンドウを切り替えてもメニューが変更されることはありません。また、X11 アプリには通常、メニュー バーがウィンドウに埋め込まれているため、X11 では問題なく動作します。そのため、ウィンドウを離れてアクセスする必要はありません。
もちろん、フォーカスが変更されたり、メニューが切り替わったりする前に人為的な遅延を導入することで、メニュー変更の問題を回避できますが、他のデスクトップと同じように機能することはありません.
そこで、まだいくつかの欠陥があった MouseFocus.app で行った作業を再度改善することにしました。それらは現在修正されています。このツールの機能をよりよく反映するために、全体を「AutoRaise」に名前を変更しました。ツールはここからダウンロードできます。これを使用するには、/Applications/ フォルダーにコピーして、実行可能であることを確認します (chmod 700 AutoRaise)。次に、Finder 内からダブルクリックします。オン/オフをすばやく切り替えるには、以下の AppleScript を使用して、Automatorサービスワークフローに貼り付けます。次に、システム環境設定 | キーボード | ショートカットを使用して、作成したサービスをキーボード ショートカットにバインドします。
更新 (2017 年 3 月 29 日): AutoRaise バイナリが更新されました。コマンド ラインで遅延が指定されていない場合は、AutoRaise.delay ファイルも検索するようになりました。同じホームフォルダ。「launch application」はコマンドライン引数をサポートしていないため、これは以下の AppleScript を使用する場合に特に便利です。遅延は単位で指定する必要があります50ms20ms。たとえば、20 ミリ秒の遅延を指定するには、ターミナルで次のコマンドを 1 回実行します: 'echo 1 > ~/AutoRaise.delay'
on run {input, parameters}
tell application "Finder"
if exists of application process "AutoRaise" then
quit application "/Applications/AutoRaise"
display notification "AutoRaise Stopped"
else
launch application "/Applications/AutoRaise"
display notification "AutoRaise Started"
end if
end tell
return input
end run
更新 (18-04-2019): ソースhttps://github.com/sbmpost/AutoRaise
更新 (2020 年 5 月 6 日): デフォルトの遅延が 2 に設定され、ポーリング時間が短縮されました。これらの設定により、マウスをすばやく動かしたとき (たとえば、トップ メニューに移動するとき) に意図しないウィンドウが持ち上がるのを防ぎます。また、ワープ マウス機能が追加され、メモリ リークが修正されました。詳細については、READMEを参照してください。
メニューの問題は、従来のフォーカス フォロー マウスが機能しない唯一の理由です。
別の方法があります: キーボードのキーが押されるまでフォーカスを変更しないでください。これは、フォーカス フォロー マウスのユース ケースの 95% をカバーし、この古い不器用な X ユーザーを本当に幸せにします。Chrome で Web ページをスクロールし、Command-T を押して新しいタブを開き、代わりにターミナルで開いているタブを見つけることが何回あるかわかりません。Mac を 8 か月使用している間に私の脳がこれを理解できなかったとしたら、決して理解することはありません。
フォーカス フォロー マウスは、私の場合は Mojave の macOS で、chunkwmを使用して可能になりました。「オートレイズなし」の解決策については、このスタック オーバーフローの応答を参照してください。離れるとオートレイズがアクティブになります
chunkc set ffm_disable_autoraise 0
で~/.chunkwmrc
。
2019-09-12 を編集:
chunkwm はyabaiに取って代わられました。インストールするには:
brew tap koekeishiya/formulae
brew install yabai
mkdir -p ~/.config/yabai/
printf 'yabai -m config focus_follows_mouse autoraise' >> ~/.config/yabai/yabairc
brew services start yabai
Codetekにはこれを行う製品がありましたが、Leopard以降のバージョンをリリースすることはありませんでした。
MondoMouseは、フォーカスフォローマウスを実行できますが、自動レイズは実行できません。ただし、フォーカスフォローマウスでさえ壊れています。たとえば、command-tabではうまく機能しません(新しいアプリケーションにcommand-tabを実行し、マウスに触れない場合は、マウスポインタがある場所にフォーカスを戻さないでください-私は私が見たLinuxのすべての実装がこれを正しく行うことは確かですが、MondoMouseは正しくありません)。
ターミナルウィンドウのみでfocus-follows-mouse(自動レイズなし)を有効にできます(ターミナルで次を実行するだけです)。
defaults write com.apple.Terminal FocusFollowsMouse -string YES
X11ウィンドウの場合も同様です。
defaults write org.x.X11 wm_ffm -bool true
(10.5.5より前のMacバージョンの場合、これは次のとおりです。
defaults write com.apple.x11 wm_ffm true
)。
私はそれをサポートする他のアプリケーションを知りません。
私は現在 MondoMouse を使用していますが、その癖があっても、それなしでは Mac を使用できませんでした。彼らには無料の試用版があり、私は皆にそれをお勧めします.
Leopardには、デフォルトで有効になっているフォーカスフォローマウス(自動レイズなし)の1つのフレーバーがあるのは興味深いことです。スクロールホイールは、焦点が合っていないウィンドウで機能します。
残念ながら、CodeTek Virtual Desktop Pro はもはや開発されておらず、同社は数年前に廃業したようです..
過去のリファレンス: http://www.codetek.com/ctvd/ (新しい OS X バージョンでは動作しません!)
過去のレビュー: http://www.osnews.com/story/6144
CodeTek Virtual Desktop Pro を使用すると、Focus-Follow-Mouse を取得して Auto-Raise を無効にすることができました。また、Linux での Fvwm の動作と同様に、仮想デスクトップ用の Pager もありました。本当に完璧に動作しました。これまでに購入したソフトウェアの中で最高のものです。すべてのアプリで一貫して機能し、アプリの切り替え、別のワークスペースへのウィンドウの移動、およびワークスペースのナビゲートは、最新の OS X バージョン [10.6、10.7、10.8] で実装されている方法よりもはるかに簡単に機能しました。
残念ながら、Mac OS X 10.5 では VirtualDesktop Pro が動作しなくなり、Apple は CodeTek が引き続き動作しないことを積極的に確認したようです。
Apple が CodeTek とその製品を打ち負かしたのは悲しいことです。Virtual Desktop Pro は、現在の OS X ワークスペースの実装方法よりも本当に優れていました。それは基本的に LINUX 上の Fvwm のように動作しました - 超高速ナビゲーション - 不必要なクリックやマウスジェスチャーなし...
Apple がウィンドウ マネージャ (Finder) の動作を指示しており、サード パーティによる Finder の代替品を許可していないように見えるのは悲しいことです。
DwellClickを試してみてください。本来の目的ではありませんが、自動クリックの動作には、オートレイズやフォーカス フォロー マウスと同様の副作用があります。
個人的には、カーソルの動きが止まった後に左クリックする機能しか使用しませんが、モディファイア付きのクリックと、非常に便利なウィンドウ ドラッグ アシストもあります。
また、アプリを無効にするか、カーソルが置かれている場所 (たとえば、アクティブにするつもりのないリンクやボタンではなく) を意識する必要があるため、Web ブラウジング中に少しイライラします。
関連するレイズ オン クリックの問題もあります。OSX では、ウィンドウがクリックされるたびにウィンドウも持ち上げられるため、他のウィンドウが隠れる可能性があります。これは、1 つのウィンドウが画面の大部分を占める 2 つのウィンドウからコピー/貼り付けを行う場合に問題になります。私はグローバルな (すべてのワークスペースでアクティブな) メモ帳を保持するのが好きで、そこから何かをコピー/貼り付けします (コマンド、テキスト、todo アイテムなどから何でもかまいません)。これは OSX では困難です。レイズ オン クリックを無効にするオプションがあると便利です。
解決策: 私は Windows でオートレイズに慣れていたので、Mac ではそれを見逃していました。私が Mac 用に見つけた解決策は、Zoom (はい、3 つの o) です。オートレイズ機能があります。自動レイズの前に待機するミリ秒を設定することもできます。それなしでは生きていけない。スクリーンショットでわかるように、オートレイズは設定のオプションですhttps://www.macupdate.com/app/mac/23203/zooom http://coderage-software.com/zooom/index.html
これらのオプションを試してみると、Command-Tab の動作がおかしくなり始めました。アプリに再びフォーカスを与える方法の解決策は次のとおりです。
以前の機能、つまりターミナルのウィンドウ フォーカスをマウスの動きで変更する機能が 10.6 で壊れており、Command-Tab がウィンドウ フォーカスを正しく転送しないようです。問題を解決するには、次のコマンドをターミナルに貼り付けます。
デフォルトは com.apple.Terminal FocusFollowsMouse -string NO を書き込みます
次に、ターミナルを再起動します。
Mac のインターフェイスは、フォーカス フォロー マウス (オートレイズの有無にかかわらず) を念頭に置いて設計されていないため、実際にはうまくできません。私はそれがすぐに変わるとは思っていません。そうでない限り、フォーカス フォロー マウスを実装しようとする人は皆、同じハードルにぶつかり、満足のいく結果を得ることができません (そのようなことを望んでいる人にとっては)。
そうです、あなたはこれを望んでいますが、技術的な理由からです。Mac を独自の条件で使用することに慣れてください。新しい効率的な作業方法を見つけるにつれて、以前使用していた X11 のものと同じように動作させたいというあなたの欲求は少しおさまると確信しています。