macos - under - Mac OS XでFocus-Following-Mouse(プラスオートレイズ)




mac activate window under mouse (12)

(私はそれが欲しいと夢中になっているのを聞きたくありません!:)

Focus-Following-Mouseは、ポイントツーフォーカス、ポインタフォーカス、および(一部の実装では)不適切なフォーカスとしても知られています。 [これをより検索可能にする他の用語を追加!] X-mouse


Codetekはこれを行った製品を持っていましたが、Leopard以降のバージョンはリリースしていませんでした。

MondoMouseは、focus-follows-mouseをソートすることはできますが、オートレイズはできません。 フォーカス追従マウスも壊れてしまいます。 たとえば、コマンド・タブでうまく動かない(コマンド・タブを新しいアプリケーションにしてマウスを触らないと、マウス・ポインターがどこにあってもフォーカスを戻してはならない 。 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

私はそれをサポートする他のアプリケーションについて知らない。


Focus-Following-Mouseは、OS Xのメニューバーが画面の一番上になるように設計されているため、特に適した入力方法ではありません。 途中で他のアプリケーションのウィンドウを横切ると、メニューに移動するためにアプリケーションウィンドウからマウスを移動すると、メニューが変わります。

そう、はい、返信コメントへの返信では、ターミナルウィンドウ(つまり、ウィンドウを切り替えるとメニューが変わることはありません)に影響を与える唯一の他のウィンドウがあるため、Terminal(またはデスクトップ上の他の単一のアプリケーション) X11のアプリは一般的にウィンドウに埋め込まれたメニューバーを持っているので、X11でうまく動作するので、ウィンドウにアクセスする必要はありません。

もちろん、フォーカスの変更やメニューの切り替えの前に人為的な遅延を導入することで、メニュー変更の問題を回避できますが、他のデスクトップと同様に機能することはありません。


chunkwmもこれをサポートしています(デフォルトでは私は信じています): chunkwm


DwellClickを試してみてください。 意図した目的ではありませんが、自動クリックの動作には、auto-raiseまたはfocus-follows-mouseと同様の副作用があります。

個人的には、カーソルの移動が休止した後で左クリックの機能のみを使用しますが、モディファイアとクリックすると、非常に便利なウィンドウドラッグアシストもあります。

アプリを無効にしたり、カーソルがどこにあるかを意識したりするため、Webブラウジング中に少しイライラします(たとえば、アクティブにしたくないリンクやボタンではない)。


Amethystはこの機能をサポートしています。 それは、 brew cask install amethystと簡単にインストールすることができます。

ここに私が使用する設定ファイルがあります。 それは、focus-follows-mouseのほかに、すべての機能をオフにします。 ~/.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
}

これは完全な解決策ではありませんが、OSX(10.11)に組み込まれている2つの便利なアクションは次のとおりです。

^←クリック (control-option-click) - ウィンドウを上げずにフォーカスを切り替える

⌘-クリック (コマンド - クリック) - フォーカスを切り替えずにウィンドウをクリック

これらのショートカットが導入された時期はわかりません。どこでも書かれたものを見つけることができなかったためです。


だから私はまだいくつかの欠陥を持っていたMouseFocus.appで行った作業を再び改善することに決めました。 それらは今修正されています。 このツールの機能をよりよく反映させるために、「AutoRaise」に名前を変更しました。ウィンドウを移動すると、選択された時間が経過して前面に持ち上げられ、フォーカスが得られます。 ツールはhereでダウンロードできhere 。 それを使用するには、/ Applications /フォルダにコピーして実行可能であることを確認します(chmod 700 AutoRaise)。 Finder内からダブルクリックします。 それをすぐにオン/オフに切り替えるには、以下のようなAppleScriptを使用してオートサンプラサービスワークフローに貼り付けます。 次に、システム環境設定|キーボード|ショートカットを使用して、作成したサービスをキーボードショートカットにバインドします。

アップデート(29-03-2017):AutoRaiseバイナリが更新されました。 コマンドラインに遅延が指定されていない場合、同じフォルダ内のAutoRaise.delayファイルも検索されます。 これは、 'launch application'がコマンドライン引数をサポートしていないため、以下のapplescriptを使用する場合に特に便利です。 遅延は50msの単位で指定する必要があります。 たとえば、遅延を150msに指定するには、端末でこのコマンドを1回実行します。 'echo 3> 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

コマンドラインで次のコマンドを発行して、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のバージョンは決して得られません)。


レイズ・オン・クリックの関連問題もあります。 ウィンドウがクリックされるたびにOSXの下でそれも上がり、潜在的に他のウィンドウを隠す可能性があります。 これは、2つのウィンドウからコピー/ペーストを使用して作業するときに、そのうちの1つが画面のほとんどをカバーするときに問題になります。 私はコピーする/貼り付けるもの(コマンド、テキスト、todoアイテムなどから何でもよい)をグローバルに(すべてのワークスペースでアクティブに)メモ帳に保存するのが好きです。 これはOSXの下では挑戦的です。 レイズ・オン・クリックを無効にするオプションがあるといいでしょう。


残念ながら、CodeTek Virtual Desktop Proはもう開発されておらず、数年前に会社が廃業したようです。

過去のリファレンス: http://www.codetek.com/ctvd/ : http://www.codetek.com/ctvd/ (新しいOS Xバージョンでは動作しません!)

過去のレビュー: http://www.osnews.com/story/6144 : http://www.osnews.com/story/6144

CodeTek Virtual Desktop Proを使用すると、Focus-Follow-Mouseを取得してAuto-Raiseを無効にすることができました。仮想デスクトップ用のPagerもありました.FvwmはLinux上での動作と似ています。 それは本当に完璧に働いた - 私が今までに買ったソフトウェアの中で最高のもの。 それはすべてのアプリケーションと一貫して機能し、アプリケーションの切り替え、ウィンドウを別のワークスペースに移動したり、ワークスペースをナビゲートすることは、最新のOS Xバージョン[10.6,10.7,10.8]

残念なことにMac OS X 10.5 VirtualDesktop Proは動作を停止し、AppleはCodeTekが今後もそれに取り組まないことを積極的に確認したようだ。

AppleがCodeTekとその製品を破ったのは悲しいことです.Windows Xのワークスペースが現在どのように実装されているのか、Virtual Desktop Proは本当に優れていました。 これは、基本的には、FvwmのようなLinux上で - 超高速ナビゲーション - 不要なクリックやマウスジェスチャーなしで...

アップルはウィンドウマネージャ(Finder)の動作を命令し、Finderのサードパーティーの交換をもう許可していないように見えることは悲しいことです。


興味深いことに、Leopardにはデフォルトで有効になっているfocus-follows-mouse(sans autorise)のフレーバが1つあります。 スクロールホイールは、焦点が合っていないウィンドウで機能します。


解決策:私はWindowsでオートオーソライズするのに慣れていたので、Macでそれを紛失しました。 私がMacのために見つけた解決策はZooom(はい、3つのo)です。 それはautoraise機能を持っています。 あなたは自動リレーする前に待機するミリ秒を設定することもできます。 それなしでは生きられない。 Autoraiseは、スクリーンショットで見ることのできる、環境設定のオプションですhttps://www.macupdate.com/app/mac/23203/zooom http://coderage-software.com/zooom/index.html //www.macupdate.com/app/mac/23203/zooom http://coderage-software.com/zooom/index.html





mouse