Mac OS X 上的焦点跟随鼠标(加上自动抬起)

Posted

技术标签:

【中文标题】Mac OS X 上的焦点跟随鼠标(加上自动抬起)【英文标题】:Focus-follows-mouse (plus auto-raise) on Mac OS X 【发布时间】:2010-09-11 00:43:09 【问题描述】:

(我不想听到我想要那个有多疯狂!:)

Focus-follows-mouse 也称为点对焦点、指针焦点和(在某些实现中)马虎焦点。 [添加其他术语,使其更易于搜索!] X-mouse

【问题讨论】:

我希望我可以为此设置有条件的赏金。我会为这个问题的实际解决方案付出很多。 我肯定会为此付钱的。如果它基本上像 unix 中的鼠标焦点(没有自动提升)那样工作,我会非常高兴。也许我们可以在某个地方提供赏金。 我喜欢我去投票的方式,只是为了看到它是 Nathan Binkert。让我们尽快喝啤酒。很想知道你最近在做什么! 你疯了。但显然我也是。我也在寻找一种解决方案,它允许在没有自动提升的情况下工作,因为我做了很多工作,我需要在一个窗口中快速做某事,但不需要在那个特定时刻看到整个窗口。 这没有什么疯狂的。我一直在我的所有 Unix/Solaris/Linux/Window 桌面中使用并依赖此设置。必须单击窗口的标题栏才能将其带到顶部是可憎的。为什么 MacOS 必须与众不同? 【参考方案1】:

Steve Yegge 不久前写了一篇关于此的文章,他尝试并未能编写合适的扩展。从那以后,我试图找到适用于 OS X 的焦点跟随鼠标应用程序,但也失败了。

【讨论】:

他似乎也没有把他写的代码贴出来:( 这很有意义。让我烦恼/困惑的一件事是滚动行为似乎确实有一个懒惰的焦点。所以我可以将鼠标移到另一个窗口,滚动文本,然后当我开始输入时,输出会转到另一个应用程序。【参考方案2】:

您可以通过在命令行发出以下命令来为 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 推出过版本)。

【讨论】:

太棒了,正是我想要的。 这绝对只​​是一个部分解决方案——但它是一个简单而有用的部分解决方案!谢谢! 附录:如果您将鼠标悬停在终端窗口上,即使在另一个应用程序中,为终端设置此选项也可以工作!因为对我来说,这是我可能真正想要使用它的主要原因,所以这是 99% 的答案!巨大的投票! (嗯,我已经这样做了,但如果可以的话,我会再做一次。) iTerm2 内置了这个功能......在首选项中,选择指针选项卡,在底部是一个“焦点跟随鼠标”选项。它甚至会从当前活动的应用程序中获取焦点(即说您的浏览器是活动的应用程序,并且您正在浏览器字段中输入...鼠标进入 iTerm2 窗口并且您的输入出现在那里,鼠标移出并返回到您的浏览器或其他活动应用程序)。 ^ kwm repo 链接已失效(以不同的名称存档)。 Another answer 指出它“已被 yabai 取代”,在此评论中,它工作正常。【参考方案3】:

Codetek 有一款产品可以做到这一点,但他们从未发布过 Leopard 或更高版本。

MondoMouse 可以做焦点跟随鼠标,但不能自动抬起。 不过,即使是焦点跟随鼠标也坏了。 例如,它不能很好地与 command-tab 配合使用(如果您使用 command-tab 到一个新应用程序并且不触摸鼠标,那么它应该将焦点切换回鼠标指针所在的位置是——我很确定我在 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

)

我不知道任何其他支持它的应用程序。

【讨论】:

它是救命稻草【参考方案4】:

我目前使用 MondoMouse,即使有它的怪癖,没有它我也无法使用我的 mac。他们有免费试用版,我会推荐给大家。

MondoMouse

【讨论】:

我试过 MondoMouse,但如果我启用焦点跟随鼠标,它会自动升起窗口。自动加薪对我来说很烦人,它大大降低了我的工作效率。是否可以在不自动抬起的情况下获得焦点跟随鼠标? 这是一个很棒的发现!为什么没有更多的投票? pts:反正我不喜欢重叠窗口,所以我认为这对我有用。 感谢您指出这一点 - 不幸的是,自动加注让我发疯:-/【参考方案5】:

您不能真正做到这一点,因为 Mac 界面在设计时根本没有考虑到焦点跟随鼠标(带或不带自动抬起)。我怀疑这种情况会很快改变,除非它改变,否则每个尝试实现焦点跟随鼠标的人都会遇到同样的障碍,并最终得到一个不令人满意的结果(对于那些想要这样的人来说)。

所以,是的,您 为想要这个而疯狂——但出于技术原因。习惯于按照自己的方式使用 Mac,我敢肯定,当你找到新的高效工作方式时,你强迫它表现得像你过去使用的任何 X11 东西一样的愿望会有所减弱。

【讨论】:

我不买这个。它适用于终端和 X11。为什么不能扩展到所有应用程序? 引用 Chris Hanson “习惯于按照自己的方式使用 Mac,我相信你强迫它表现得像你过去使用的任何 X11 东西一样的愿望会随着你的到来而消退。寻找新的高效工作方式。”我强烈不同意这种说法。在这个时代,我不应该习惯于没有有用/理想的功能,因为 Mac 不希望我拥有它或认为它没有用。缺少该功能(在所有其他 Unix/Linux 发行版中都作为一个选项存在)是我每天更讨厌我的 MAC 的原因之一。 呃!这根本不是真的(至少“你的欲望会消退”部分)。我已经使用 OSX 大约两年了,虽然许多差异都很好,但我仍然不小心关闭了错误的选项卡,因为我可以滚动任何东西在我的鼠标下,但击键会转到任何有焦点的地方。它把我逼上墙了!我不能夸大我多么不喜欢这种行为。 关于 OSX 已经有了滚动跟随鼠标的优点。反焦点跟随鼠标的人讨厌这个功能吗?可以关闭吗? (不是我想要的。我认为它总比没有好,但不一致比烦人更糟糕。)【参考方案6】:

有趣的是,Leopard 默认启用了一种焦点跟随鼠标(无自动提升)。滚轮在没有焦点的窗口中工作。

【讨论】:

AFAIK,自从滚轮获得 Mac 支持以来就一直如此。从某种意义上说是完全一致的:鼠标上的按钮/滚轮/球跟随指针,键盘上的东西跟随焦点。 这是 Leopard 中的一项新功能。 Daring Fireball 包含大量内容,说明某些小部件/窗口如何点击聚焦,而其他小部件/窗口如何失焦点击激活小部件。所以它肯定还不一致。 @Frank Schmitt - 按钮也跟随焦点 - 如果我想在 Lastfm 中按下一个按钮,那么我需要单击一次窗口(即使我在按钮上单击右键),然后按钮。【参考方案7】:

Focus-follows-mouse 并不是特别适合 OS X 的输入法,因为它的菜单栏被设计为位于屏幕顶部。当您将鼠标移出应用程序窗口以访问菜单时,如果它在途中穿过任何其他应用程序的窗口,则菜单会发生变化。

所以是的,在回复 dreeves 评论时,它对终端(或桌面上的任何其他单个应用程序)非常有效,因为它会影响的唯一其他窗口是终端窗口,所以菜单永远不会随着你而改变切换窗口。它适用于 X11,因为 X11 应用程序的菜单栏通常嵌入在窗口中,因此您不必离开窗口即可访问它们。

当然,您可以通过在焦点更改和/或菜单切换之前引入人为延迟来解决菜单更改问题,但它永远不会像在其他桌面上那样有效。

【讨论】:

关于菜单栏的观点完全公平,尽管标准延迟对我来说实际上不是问题。 和其他人一样,我是几年前从旧的 X-Windows 转向 Mac 的。和其他人一样,这个问题继续让我陷入困境。必须单击一个窗口使其聚焦,然后让它自动上升到顶部是不好的。 (我正要写“精神错乱”之类的词,但我决定不要那么夸张。) @Calum:对不起,但我不同意。我在 Mac OS X 上使用了 Focus-Follows-Mouse(使用 CodeTek Virtual Desktop Pro),效果很好!它与所有应用程序一致地工作,切换应用程序、将窗口移动到不同的工作区以及导航工作区比在最新的 OS X [10.6.7] 中实现的方式要容易得多。可悲的是,Apple 粉碎了 CodeTek 及其产品 - Virtual Desktop Pro 确实优于 OS X 工作区的实现方式。它基本上像 LINUX 上的 Fvwm 一样工作 - 超快速导航。 @Calum:我现在无法真正测试它,因为我的 Mac 都没有运行 10.4 或更早版本,但如果我没记错的话,应用程序会在几分之一秒后切换,并且菜单栏会相应地切换 这只是为什么 OS X 中的分离的顶部菜单栏是我见过的最奇怪、最荒谬的 UI 创意之一的一个更多原因见过。无论是谁想出了那个,都需要涂上焦油和羽毛。【参考方案8】:

不幸的是,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,它还有一个用于虚拟桌面的 Pager——类似于 Fvwm 在 Linux 上的工作方式。它真的很完美——我买过的最好的软件。 它与所有应用程序一致,切换应用程序、将窗口移动到不同的工作区以及导航工作区比在最新的 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,我感到很难过。

【讨论】:

【参考方案9】:

尝试使用这些选项后,我的 Command-Tab 开始出现异常。以下是它如何再次关注应用的解决方案:

似乎以前的功能,即终端窗口焦点随鼠标移动而变化的能力,在 10.6 中被破坏,导致 Command-Tab 无法正确转移窗口焦点。要解决此问题,只需将以下命令粘贴到终端:

默认写入 com.apple.Terminal FocusFollowsMo​​use -string NO

然后重启终端。

【讨论】:

哦,哇,读完这篇文章后我会忍受多年的!现在我必须决定哪个是较小的邪恶。【参考方案10】:

还有引发点击的相关问题。在 OSX 下,每次单击一个窗口时,它也会被提升,因此可能会隐藏其他窗口。当从两个窗口中复制/粘贴时,其中一个窗口覆盖了大部分屏幕,这是有问题的。我喜欢保留一个全局(在所有工作区中都处于活动状态)记事本,我可以从中复制/粘贴内容(可以是命令、文本、待办事项等任何内容)。这在 OSX 下是具有挑战性的。最好能有一个禁用点击时加注的选项。

【讨论】:

@dvj 的回答提供了一些晦涩难懂的技巧,可以帮助您完成您所说的其他方式难以做到的事情。【参考方案11】:

菜单问题是传统焦点跟随鼠标不起作用的唯一原因。

这里有一个替代方法:在按下键盘上的某个键之前不要改变焦点。这将涵盖 95% 的焦点跟随鼠标用例,并且会让这个老脾气的 X 用户非常高兴。我不知道我将在 Chrome 中滚动浏览网页多少次,然后按 Command-T 打开一个新选项卡,然后在终端中找到打开的选项卡。如果我的大脑在使用 Mac 的 8 个月内没有意识到这一点,那么它永远不会。

【讨论】:

对我来说也一样! :P 然而苹果声称他们更了解事情 这会很棒。 focus-follows-mouse 的要点之一是将键盘焦点赋予其他窗口而无需显式单击它们,因此 focus-on-keypress 应该做正确的事情。有什么实现这个吗? 如果我可以使用焦点跟随鼠标,我会很乐意在需要访问菜单的少数情况下使用 ctrl+F2 键盘快捷键。【参考方案12】:

试试DwellClick。虽然不是出于预期目的,但自动点击行为具有类似于自动抬起或焦点跟随鼠标的副作用。

就个人而言,我只在光标移动停止后使用左键单击功能,但也有使用修饰符的单击和非常方便的窗口拖动辅助。

在浏览网页时也有点令人沮丧,因为您要么想要禁用应用程序,要么更加注意光标所在的位置(例如,不在您不打算激活的任何链接或按钮上)。

【讨论】:

我试过这个。问题是它提高了窗口。对我来说,焦点跟随鼠标的巨大优势之一是能够在部分覆盖的窗口上工作(因此我可以复制文本或遵循来自另一个终端或占用大量屏幕的浏览器的指令。 【参考方案13】:

Amethyst 支持此功能。使用brew 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

【讨论】:

@dreeves 有一点延迟,但据我所知,时间是不可配置的。 配置文件有几个语法错误。我已经更正了这些并粘贴了它们here。 我试过 Amethyst,它可以解决 OP 的问题。它似乎不支持变体 Focus Follows Mouse without Autoraise。 如果有人发现“焦点跟随鼠标没有自动提升”功能,我想听听。与此同时:@JasonR.Coombs your updated ~/.amethyst settings 为我工作——非常有帮助,谢谢。 不需要手动修改配置文件。您可以在 Amethyst 的首选项中启用此功能。名称是 Focus follow mouse (experimental)。【参考方案14】:

所以我决定再次改进我在 MouseFocus.app 上所做的工作,但仍然存在一些缺陷。这些现在都修好了。我将整个内容重命名为“AutoRaise”以更好地反映此工具的作用:当您将窗口悬停时,它将被提升到前面(您选择的延迟)并获得焦点。该工具可以在here下载。要使用它,请将其复制到您的 /Applications/ 文件夹,确保它是可执行的(chmod 700 AutoRaise)。然后在 Finder 中双击它。要快速打开/关闭它,您可以使用下面的 applescript 并将其粘贴到 automator service 工作流程中。然后通过 System Preferences|Keyboard|Shortcuts 将创建的服务绑定到键盘快捷键。

更新 (29-03-2017):AutoRaise 二进制文件已更新。如果没有在命令行上指定延迟,它现在还将在 same 主文件夹中查找 AutoRaise.delay 文件。这在使用下面的 applescript 时特别有用,因为“启动应用程序”不支持命令行参数。延迟应以50ms 20ms 为单位指定。例如,要指定 20 毫秒的延迟,请在终端中运行一次此命令:'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

更新 (05-06-2020):默认延迟已设置为 2 并且轮询时间已减少。这些设置可防止在快速移动鼠标(例如到达顶部菜单)时意外弹出窗口。还添加了变形鼠标功能并修复了内存泄漏。更多详情请查看README

【讨论】:

你能编辑你以前的帖子吗?在一篇文章中对一个特定应用程序进行投票比在不同版本的多个帖子中投票更清晰、更容易。 @dreeves 添加了指令以使其可执行: chmod 700 AutoRaise 从命令行(在应用程序文件夹中)。还修复了一个错误,当通知到达时,提升将停止工作。还减少了默认延迟。我在多个屏幕上使用它。为此,它似乎做得很好。 啊,我删除了我的旧(过时)帖子。所以请随意投票赞成这个;-) 感谢您的工具,效果很好。如果你把它开源,那就太棒了! 姗姗来迟,但这东西的出处可以在这里找到:github.com/sbmpost/AutoRaise【参考方案15】:

虽然这远不是​​一个完整的解决方案,但 OSX (10.11) 中内置的两个方便的操作是:

⌃⌥-click (control-option-click) - 切换焦点而不提升窗口

⌘-单击(命令单击)- 在窗口中单击而不切换焦点

不确定这些快捷方式是什么时候引入的,因为我无法在任何地方找到它们。

【讨论】:

我没有看到这项工作始终如一,但它几乎适用于 Yosemite 10.10.5 这在 Mac OS X El Capitan 中不起作用:⌃⌥-click 生成右键单击,而 ⌘-click 扩展选择。 /技术上/这适用于 10.12“macOS sierra”,但缺乏跨应用程序和 wm 的修饰键标准会造成另一个 Yegge 式悲剧。 ⌘-单击浏览器中的链接也会打开一个新选项卡。在 Chrome 中,⌘-单击选项卡也是多选。至少 ⌃⌥-click 在编辑器和终端上运行良好,并且 ⌘-click-drag 在标题栏上始终移动窗口而不提升它们。 只是想确认这在 Mojave 中仍然有效。然而,上面提到的不同应用程序之间不一致的观点是正确的。 Chrome 和 FF 都没有遵循标准。 @Sébastien ...您正在单击最前面的窗口。 click 用于没有焦点的窗口。 至于来源,这在Advanced Debugging with Xcode and LLDB的 WWDC 2018 视频中提到。【参考方案16】:

解决方案:因为我习惯于在 Windows 中自动提升,所以我在 Mac 上非常想念它。 我为 Mac 找到的解决方案是 Zooom(是的,三个 o's)。它具有自动升起功能。您甚至可以设置毫秒在自动提升之前等待。没有它就活不下去。如您在屏幕截图https://www.macupdate.com/app/mac/23203/zooom 中所见,Autoraise 是首选项中的一个选项 http://coderage-software.com/zooom/index.html

【讨论】:

终于可以了。但由于软件公司已被终止,无法购买许可证,也无法禁用烦人的消息【参考方案17】:

chunkwm 也支持这一点(我相信默认情况下): chunkwm

【讨论】:

谢谢!!!不仅是为了关注鼠标,也是为了让我知道 chunkwm 好像chunkwm已经被yabai取代了?请参阅 Les Grieve 的回答。【参考方案18】:

在 MacOS Mojave 上测试 MondoMouse (https://www.atomicbird.com/about/mac-apps)。似乎对我来说工作得很好!

要安装 prefpane,将会有一个通知“启用辅助设备访问”,该通知不再驻留在 系统偏好设置 > 辅助功能中。您必须在 Security & Privacy > Accessibility > Privacy

中进行设置

会有几个关于在您打开的每个应用程序中允许 MondoMouse 的警告,但是一旦设置它就可以正常工作!真是一种解脱:)

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review 链接失效【参考方案19】:

现在可以在 macOS 中使用鼠标跟随鼠标,在我的例子中是 Mojave,使用 chunkwm。 请参阅this Stack Overflow 响应以获取“无自动提升”解决方案。离开会激活自动加注

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

【讨论】:

【参考方案20】:

在 mac 中使用 Dwell 功能。 转到辅助功能 -> 键盘 -> 辅助功能键盘(我在 Catalina 上)

Click here for more info


【讨论】:

这很吸引人,现在可以在 Mac 上内置了!但是让它真正点击我悬停的所有东西太多了。 :) 我只是想让它改变焦点(并自动提升到前景,尽管很多人讨厌那个部分)任何我悬停的东西。 但它也显示了烦人的辅助键盘:/【参考方案21】:

大约 10 年来我一直定期回到这个问题,我终于找到了一个简单的解决方案:AutoRaise https://github.com/sbmpost/AutoRaise

默认情况下,它启用焦点跟随鼠标和自动提升。您可以使用配置选项延迟自动升起。

它还具有他们所谓的“变形”功能,当您使用 Command-Tab 到窗口时,该功能可将鼠标指针居中。在我尝试之前我从不知道我需要这个,但是一旦我尝试过,我就离不开它!

【讨论】:

天哪,终于了!这绝对是完美的。我实际上无法理解不是每个人都想要这个。现在也在尝试经线;听起来很聪明。非常感谢!【参考方案22】:

如果有人感兴趣,这里有一个玩具级的多显示器自动对焦实现:https://bitbucket.org/sivann/mac-screenfocus/src/master/

它大部分都可以工作,但不能在不同的监视器上处理同一应用程序的多个窗口。如果您将鼠标移动到另一台显示器,则将焦点放在最后一个拥有它的应用程序上。

【讨论】:

【参考方案23】:

一些对双屏“专注于悬停”部分可能有用的建议。当另一个屏幕已经具有输入框焦点时,它不能解决某些问题,例如在输入框中输入内容。但它可能会对“专注于悬停”的各个方面来这里的人有所帮助。

如果没有这个修复,我总是必须在监视器中“聚焦点击”,然后才能根据上下文点击任何内容。

您可以通过以下方式获得“专注于悬停”的某些方面:

    进入“系统偏好设置” 选择“任务控制”选项 在那里您应该会看到“显示器有单独的空间”,取消勾选它

然后至少选择 Monitor1,现在您可以立即单击 Monitor2 中的某些内容,例如电子邮件或选项卡,而无需第一次“焦点单击”。

与往常一样,这可能并不适用于所有人,具体取决于操作系统版本和其他因素。

【讨论】:

以上是关于Mac OS X 上的焦点跟随鼠标(加上自动抬起)的主要内容,如果未能解决你的问题,请参考以下文章

为啥“光标下的跟随符号”在 Mac OS X 的 Qt Creator 中不起作用?

在 mac OS X 上关闭 GUI emacsclient 后如何将焦点返回到终端?

如何将光标锁定在 Mac OS X 上的窗口内部?

制作 Mac OS X El Capitan 的U盘引导安装

Mac OS X下使用自动操作实现一键复制文件或文件夹路径

Mac OS X Mountain Lion 下如何独立设置鼠标和触摸板的滚动方向?