(私がそれを望んでいるのがどれほどクレイジーかについては知りたくない!:)
フォーカスフォローマウスは、ポイントトゥフォーカス、ポインターフォーカス、および(一部の実装では)ずさんなフォーカスとも呼ばれます。[これを検索しやすくする他の用語を追加してください!] Xマウス
(私がそれを望んでいるのがどれほどクレイジーかについては知りたくない!:)
フォーカスフォローマウスは、ポイントトゥフォーカス、ポインターフォーカス、および(一部の実装では)ずさんなフォーカスとも呼ばれます。[これを検索しやすくする他の用語を追加してください!] Xマウス
回答:
コマンドラインで次のコマンドを発行することにより、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のバージョンを入手したことはありません)。
Steve Yeggeは、このことについてエッセイを書いており、適切な拡張機能を書き込もうとして失敗しました。それ以来、私はOS Xのフォーカスフォローマウスアプリケーションを見つけようとしましたが、失敗しました。
Focus-follows-mouseは、メニューバーが画面の上部にあるように設計されているため、OS Xに特に適した入力方法ではありません。アプリケーションウィンドウの外にマウスを移動してメニューを表示したときに、途中で他のアプリケーションのウィンドウと交差すると、メニューが変わります。
したがって、そうです、dreevesのコメントに応えて、ターミナル(またはデスクトップ上の他の単一のアプリケーション)に対しては完全に正常に機能します。影響を受ける他のウィンドウはターミナルウィンドウだけなので、ウィンドウを切り替えてもメニューは変化しないからです。また、X11アプリは通常、ウィンドウにメニューバーが埋め込まれているため、X11で正常に機能します。そのため、ウィンドウにアクセスしてアクセスする必要はありません。
もちろん、フォーカスが変わったりメニューが切り替わる前に人為的な遅延を導入することでメニュー変更の問題を回避することはできますが、他のデスクトップでうまく機能することはありません。
これは完全なソリューションにはほど遠いですが、OSX(10.11)に組み込まれている2つの便利なアクションは次のとおりです。
⌃⌥-クリック(control-option-click)-ウィンドウを上げることなくフォーカスを切り替えます
⌘-クリック(コマンド-クリック)-フォーカスを切り替えずにウィンドウをクリック
これらのショートカットがいつ導入されたかはわかりません。私はどこにも書かれたショートカットを見つけることができなかったからです。
click
フォーカスせずにウィンドウを対象としています。
メニューの問題は、従来のフォーカスフォローマウスが機能しない唯一の理由です。
代替案は次のとおりです。キーボードのキーが押されるまでフォーカスを変更しないでください。これは、フォーカスフォローマウスの使用例の95%をカバーし、この古いcurmudgeonly Xユーザーを本当に満足させるでしょう。ChromeでWebページを何回スクロールするかわからないので、Command-Tを押して新しいタブを開き、代わりにターミナルでタブが開いているのを見つけます。Macを使用してから8か月たっても私の頭の中でこれがうまくいかなかったとしても、それは決して起こりません。
アメジストはこの機能をサポートしています。で簡単に設置できますbrew cask install amethyst
。
これが私が使用する設定ファイルです。フォーカスフォローマウス以外のすべての機能をオフにします。に保存します~/.amethyst
。
{
"LAYOUTS": "----------------------",
"layouts": [
],
"MODIFIERS": "----------------------",
"Valid modifiers are": [
"option",
"shift",
"control",
"command"
],
"mod1": [
],
"mod2": [
],
"COMMANDS": "----------------------",
"Commands are": {
"cycle-layout": "Cycle layout to the next layout",
"cycle-layout-backward": "Cycle layout to the previous layout",
"focus-screen-1": "Focus the main window on the first screen",
"focus-screen-2": "Focus the main window on the second screen",
"focus-screen-3": "Focus the main window on the third screen",
"focus-screen-2": "Focus the main window on the second screen",
"focus-screen-3": "Focus the main window on the third screen",
"focus-screen-4": "Focus the main window on the fourth screen",
"throw-screen-1": "Throw the focused window to the first screen",
"throw-screen-2": "Throw the focused window to the second screen",
"throw-screen-3": "Throw the focused window to the third screen",
"throw-screen-4": "Throw the focused window to the fourth screen",
"shrink-main": "Shrink the main pane of the current layout",
"expand-main": "Expand the main pane of the current layout",
"increase-main": "Increase the number of windows in the main pane",
"decrease-main": "Decrease the number of windows in the main pane",
"focus-ccw": "Move window focus counter-clockwise on the current screen",
"focus-cw": "Move window focus clockwise on the current screen",
"swap-ccw": "Swap focused window with the next window going counter-clockwi$
"swap-cw": "Swap focused window with the next window going clockwise",
"swap-main": "Swap focused window with the main window of its screen",
"throw-space-1": "Throw the focused window to the first space",
"throw-space-2": "Throw the focused window to the second space",
"throw-space-3": "Throw the focused window to the third space",
"throw-space-4": "Throw the focused window to the fourth space",
"throw-space-5": "Throw the focused window to the fifth space",
"throw-space-6": "Throw the focused window to the sixth space",
"throw-space-7": "Throw the focused window to the seventh space",
"throw-space-8": "Throw the focused window to the eighth space",
"throw-space-9": "Throw the focused window to the ninth space",
"throw-space-8": "Throw the focused window to the eighth space",
"throw-space-9": "Throw the focused window to the ninth space",
"toggle-float": "Toggle the focused window between being floating and tiled"
},
"screens": "3",
"cycle-layout": {
"mod": "mod1",
},
"cycle-layout-backward": {
"mod": "mod2",
},
"select-tall-layout": {
"mod": "mod1"
},
"select-wide-layout": {
"mod": "mod1"
},
"select-fullscreen-layout": {
"mod": "mod1"
},
"select-column-layout": {
"mod": "mod1"
},
"mod": "mod1"
},
"focus-screen-1": {
"mod": "mod1"
},
"focus-screen-2": {
"mod": "mod1"
},
"focus-screen-3": {
"mod": "mod1"
},
"focus-screen-4": {
"mod": "mod1"
},
"throw-screen-1": {
"mod": "mod2"
},
"throw-screen-2": {
"mod": "mod2"
},
"throw-screen-3": {
"mod": "mod2"
},
"throw-screen-4": {
"mod": "mod2"
"throw-screen-4": {
"mod": "mod2"
},
"shrink-main": {
"mod": "mod1"
},
"expand-main": {
"mod": "mod1"
},
"increase-main": {
"mod": "mod1"
},
"decrease-main": {
"mod": "mod1"
},
"focus-ccw": {
"mod": "mod1"
},
"focus-cw": {
"mod": "mod1"
},
"swap-screen-ccw": {
"mod": "mod2"
},
"swap-screen-cw": {
},
"swap-screen-cw": {
"mod": "mod2"
},
"swap-ccw": {
"mod": "mod2"
},
"swap-cw": {
"mod": "mod2"
},
"swap-main": {
"mod": "mod1"
},
"throw-space-1": {
"mod": "mod2"
},
"throw-space-2": {
"mod": "mod2"
},
"throw-space-3": {
"mod": "mod2"
},
"throw-space-4": {
"mod": "mod2"
},
"mod": "mod2"
},
"throw-space-5": {
"mod": "mod2"
},
"throw-space-6": {
"mod": "mod2"
},
"throw-space-7": {
"mod": "mod2"
},
"throw-space-8": {
"mod": "mod2"
},
"throw-space-9": {
"mod": "mod2"
},
"toggle-float": {
"mod": "mod1"
},
"toggle-tiling": {
"mod": "mod2"
},
"display-current-layout": {
"mod": "mod1"
"display-current-layout": {
"mod": "mod1"
},
"MISC": "----------------------",
"floating": [],
"float-small-windows": false,
"mouse-follows-focus": false,
"focus-follows-mouse": true,
"enables-layout-hud": false,
"enables-layout-hud-on-space-change": false
}
そこで、私はMouseFocus.appで行った作業をさらに改善することに決めました。それらは現在修正されています。このツールの機能をより正確に反映するために、名前をすべて「AutoRaise」に変更しました。ウィンドウにカーソルを合わせると、ウィンドウが前面に表示され(選択した遅延あり)、フォーカスが取得されます。ツールはここからダウンロードできます。これを使用するには、/ Applications /フォルダーにコピーして、実行可能であることを確認します(chmod 700 AutoRaise)。次に、Finder内からダブルクリックします。これをすばやくオン/オフに切り替えるには、以下のApplescriptを使用して、オートマトンサービスワークフローに貼り付けます。次に、システム環境設定|キーボード|ショートカットを使用して、作成したサービスをキーボードショートカットにバインドします。
アップデート(29-03-2017):AutoRaiseバイナリがアップデートされました。コマンドラインで遅延が指定されていない場合、AutoRaise.delayファイルも検索されます。同じホームフォルダ。「アプリケーションの起動」はコマンドライン引数をサポートしていないため、これは以下のapplescriptを使用する場合に特に便利です。遅延は次の単位で指定する必要があります50ms20ms。たとえば、20msの遅延を指定するには、ターミナルで次のコマンドを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をご覧ください。
フォーカスは、chunkwmを使用して、macOS(私の場合はMojave)でマウスを使用できるようになりました。「自動レイズなし」のソリューションについては、このスタックオーバーフローレスポンスをご覧ください。オートレイズは離れることでアクティブになります
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
私は現在モンドマウスを使用していますが、その癖があっても、それなしではMacを使用できませんでした。彼らは無料の試用版を持っているので、私はそれをみんなにお勧めします。
Codetekにはこれを行う製品がありましたが、Leopard以降のバージョンをリリースすることはありませんでした。
MondoMouseは、フォーカスフォローマウスの一種ですが、オートレイズはできません。フォーカスフォローマウスでさえ壊れています。たとえば、コマンドタブではうまく機能しません(コマンドタブで新しいアプリケーションに移動し、マウスに触れない場合、マウスポインターがどこにあるかにフォーカスが戻りません -私は私が見たLinuxのすべての実装がこれを正しく行っていることは確かですが、MondoMouseはそうではありません)
ターミナルウィンドウに対してのみ、フォーカスフォローマウス(オートレイズなし)を有効にできます(ターミナルで次のコマンドを実行するだけです)。
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
)
それをサポートする他のアプリケーションは知りません。
Leopardがデフォルトで有効になっているfocus-follows-mouse(sans autoraise)の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の動作と同様に、仮想デスクトップ用のポケットベルも備えていました。それは本当に完璧に機能しました-私が今まで買ったソフトウェアの中で最高のものです。すべてのアプリと一貫して機能し、アプリの切り替え、ウィンドウの別のワークスペースへの移動、ワークスペースのナビゲートは、最新のOS Xバージョン[10.6、10.7、10.8]での実装方法よりもはるかに簡単に機能しました。
残念ながらMac OS X 10.5では、VirtualDesktop Proは機能しなくなり、AppleはCodeTekが引き続き機能しないように積極的に確認したようです。
AppleがCodeTekとその製品を打ち負かしたのは残念です。VirtualDesktop Proは、OS Xワークスペースが現在実装されている方法よりも本当に優れていました。それは基本的にLINUXのFvwmのように動作しました-不要なクリックやマウスジェスチャーなしの超高速ナビゲーション...
Appleがウィンドウマネージャー(Finder)の動作を指示し、もうFinderのサードパーティによる交換を許可していないように見えるのを見て、私は悲しいです。
クリックで発生する問題もあります。OSXでは、ウィンドウがクリックされるたびにウィンドウも表示されるため、他のウィンドウが非表示になる可能性があります。これは、1つのウィンドウが画面の大部分を覆っている2つのウィンドウからコピー/貼り付けを使用する場合に問題になります。グローバル(すべてのワークスペースでアクティブ)のメモ帳を保持し、そこから(コマンド、テキスト、ToDoアイテムなど、何でもかまいません)ものをコピーして貼り付けます。これはOSXの下では困難です。クリックで発生を無効にするオプションがあると便利です。
与えるDwellClick試して。本来の目的ではありませんが、自動クリックの動作には、自動レイズやフォーカスフォローマウスと同様の副作用があります。
個人的には、カーソルの動きが止まった後に左クリックする機能のみを使用しますが、修飾子付きのクリックとウィンドウドラッグアシストもあり、非常に便利です。
また、アプリを無効にするか、カーソルが置かれている場所(たとえば、アクティブにするつもりのないリンクやボタンの上ではない)を意識する必要があるため、Webブラウジング中は少しイライラします。
これらのオプションを試してみると、私のコマンドタブが奇妙な動作を始めました。これが再びアプリに焦点を当てる方法の解決策です:
以前の機能、つまりターミナルのウィンドウフォーカスがマウスの動きで変化する機能は10.6で壊れており、Command-Tabがウィンドウフォーカスを正しく転送しないようです。この問題を修正するには、次のコマンドをターミナルに貼り付けます。
デフォルトはcom.apple.Terminal FocusFollowsMouse -string NOを書き込みます
次に、ターミナルを再起動します。
解決策:私はWindowsでのオートレイズに慣れていたので、Macではひどく失敗しました。私がMacで見つけた解決策はZooomです(そう、3つのoです)。オートレイズ機能があります。自動レイズの前に待機するミリ秒を設定することもできます。それなしでは生きられない。スクリーンショットhttps://www.macupdate.com/app/mac/23203/zooom http://coderage-software.com/zooom/index.htmlで確認できるように、オートレイズは設定のオプションです。
MacOS Mojaveでテストされたモンドマウス(https://www.atomicbird.com/about/mac-apps)。私にとってはうまくいくようです!
prefpaneをインストールするには、「システム環境設定」>「アクセシビリティ」に存在しない「支援デバイスのアクセスを有効にする」という通知があります。[セキュリティとプライバシー]> [ユーザー補助]> [プライバシー]で設定する必要があります
開いている各アプリでモンドマウスを許可することについていくつかの警告が表示されますが、設定すると問題なく動作します!なんとほっと:)
Macのインターフェイスは、フォーカス追従マウス(オートレイズの有無にかかわらず)を考慮して設計されていないため、実際にそれをうまく行うことはできません。私はそれがすぐに変わるとは思えませんし、そうでない限り、フォーカスフォローマウスを実装しようとするすべての人が同じハードルに遭遇し、(そのようなことを望む人にとって)満足のいく結果にはならないでしょう。
ですから、はい、あなたはこれを欲しがっているのですが、技術的な理由からです。独自の条件でMacを使用することに慣れてください。新しい効率的な作業方法を見つけると、使用していたX11の機能と同じように強制的にMacを動作させたいというあなたの願望はきっと収まるでしょう。