Focus-follows-mouse (plus auto-raise) on Mac OS X(我不想听到我想要那个有多疯狂!:) 焦点跟随鼠标也称为点对焦点,指针焦点和(在某些实现中)草率焦点。 [添加其他术语,使其更易于搜索!] X鼠标 您可以通过在命令行中发出以下命令来对Terminal.app进行操作:
对于X11应用程序,您可以执行以下操作:
在Snow Leopard中,改用以下命令:
显然有一个名为CodeTek Virtual Desktop的程序可以在全系统范围内对其进行仿真,但是它的价格为$$(而且他们从来没有为OSX Leopard推出一个版本)。 史蒂夫·耶格(Steve Yegge)不久前写了一篇关于此事的文章,在那儿他尝试并未能写出合适的扩展名。从那以后,我一直试图为OS X找到关注焦点-鼠标的应用程序,但也失败了。 尽管这并不是一个完整的解决方案,但是OSX(10.11)内置的两个便捷操作是: ??单击(control-option-click)-在不提高窗口的情况下切换焦点 ?单击(命令单击)-在窗口中单击而不切换焦点 不确定何时引入这些快捷方式,因为我找不到在任何地方写的快捷方式。 焦点跟随鼠标不是OS X的特别合适的输入方法,因为其菜单栏被设计为位于屏幕顶部。当您将鼠标移出应用程序窗口以转到菜单时,如果它在途中与任何其他应用程序的窗口交叉,则菜单会更改。 因此,是的,在回应dreeves的评论时,它对于Terminal(或桌面上的任何其他单个应用程序)非常有效,因为它将影响的唯一其他窗口是Terminal窗口,因此菜单在切换窗口时不会改变。它对X11很好用,因为X11应用程序通常将菜单栏嵌入到窗口中,因此您不必离开窗口即可访问它们。 当然,您可以通过在焦点更改和/或菜单切换之前引入人为的延迟来解决菜单更改问题,但是这种方法永远无法像其他台式机那样工作。 菜单问题是传统的焦点跟随鼠标无法正常工作的唯一原因。 这是另一种选择:在键盘上按下某个键之前,不要改变焦点。这将覆盖95%的关注焦点-鼠标用例,并使这个老的curmudgeonly X用户真的很高兴。我不知道要在Chrome中浏览网页多少次,然后按Command-T打开新标签页,然后在终端中找到打开的标签页。如果在使用Mac的8个月内我的大脑没有动静,那就永远不会。 因此,我决定再次改进在MouseFocus.app上所做的工作,该程序仍然存在一些缺陷。这些现在已修复。我将整个名称重命名为" AutoRaise",以更好地反映此工具的功能:当您将窗口悬停在窗口上时,它将被提升到最前面(延迟选择)并获得焦点。该工具可在此处下载。要使用它,请将其复制到您的/ Applications /文件夹中,以确保其可执行(chmod 700 AutoRaise)。然后从Finder中双击它。要快速打开/关闭它,您可以使用下面的applescript并将其粘贴到automator服务工作流程中。然后通过"系统偏好设置" |"键盘" |"快捷方式"将创建的服务绑定到键盘快捷方式。
更新(29-03-2017):AutoRaise二进制文件已更新。如果在命令行上未指定任何延迟,则它现在还将在
更新(18-04-2019):源https://github.com/sbmpost/AutoRaise 更新(05-06-2020):默认延迟已设置为2,并且减少了轮询时间。这些设置可防止在快速移动鼠标时(例如到达顶部菜单)意外的窗口升高。还添加了扭曲鼠标功能,并修复了内存泄漏。有关更多详细信息,请查看自述文件
紫水晶支持此功能。可以使用
这是我使用的配置文件。除了聚焦跟随鼠标外,它还关闭了所有功能。将其保存到
现在可以在macOS中使用鼠标关注焦点,在我的情况下为Mojave,可以使用chunkwm。
在 编辑2019-09-12: chunkwm已被yabai取代。安装:
Codetek的产品可以做到这一点,但他们从未发布过适用于Leopard或更高版本的版本。
MondoMouse可以执行焦点跟随鼠标的操作,但是不能自动抬起鼠标。 您可以仅对终端窗口启用焦点跟随鼠标(不自动升高)(只需在终端中执行以下操作):
对于X11 Windows同样如此:
(对于10.5.5之前的Mac版本,这是:
) 我不知道其他支持它的应用程序。 我目前使用的是MondoMouse,即使有它的怪癖,我也无法使用Mac。他们有免费试用版,我会推荐给所有人。 蒙多老鼠
chunkwm也支持这一点(默认情况下,我相信): 有趣的是,Leopard具有默认情况下启用的一种焦点跟随鼠标(自动提升)功能。滚轮可在未聚焦的窗口中工作。 不幸的是CodeTek Virtual Desktop Pro不再开发,几年前该公司似乎已经倒闭了。 历史参考资料:http://www.codetek.com/ctvd/(不适用于新的OS X版本!) 历史评论:http://www.osnews.com/story/6144
使用CodeTek Virtual Desktop Pro,您可以获取"关注焦点"鼠标并禁用"自动提升",并且还具有用于虚拟桌面的Pager,这与Fvwm在Linux上的工作方式类似。它确实运行完美-我曾经购买的最好的软件。 不幸的是,在Mac OS X 10.5上,VirtualDesktop Pro停止工作,并且苹果公司似乎积极地确保CodeTek将不会继续在其上工作。 令人遗憾的是,苹果粉碎了CodeTek及其产品-Virtual Desktop Pro确实优于目前实现OS X工作区的方式。它基本上像LINUX上的Fvwm一样工作-超快速导航-无需不必要的点击或鼠标手势... 令我伤心的是,苹果决定了窗口管理器(Finder)的行为,并且似乎不再允许第三方替换Finder。 还有点击相关的问题。在OSX下,每次单击一个窗口时,它也会被升高,从而有可能隐藏其他窗口。从两个窗口(其中一个覆盖大部分屏幕)使用复制/粘贴时,这是有问题的。我喜欢保持一个全局(在所有工作空间中都有效)的记事本,从中我可以复制/粘贴内容(可以是命令,文本,待办事项等中的任何内容)。在OSX下,这具有挑战性。可以选择禁用点击升高功能。
在Mac中使用暂停功能。 点击这里获取更多信息
试试DwellClick。尽管这不是出于预期目的,但自动单击行为会产生类似于自动升高或焦点跟随鼠标的副作用。 就个人而言,我只在光标移动停止后才使用左键单击功能,但是还可以使用带有修饰符的单击和非常方便的窗口拖动辅助功能。 在浏览网页时,这也会让您感到沮丧,因为您要么想要禁用该应用程序,要么更注意光标停留的位置(例如,不要在您不想激活的任何链接或按钮上)。
解决方案:因为我习惯于在Windows中进行自动升级,所以在Mac上非常想念它。 通过尝试这些选项,我的Command-Tab开始表现异常。以下是如何将注意力再次集中到应用程序的解决方案: 似乎以前的功能(即终端的窗口焦点随鼠标移动而改变的功能)在10.6中已被破坏,并导致Command-Tab无法正确转移窗口焦点。要解决此问题,只需将以下命令粘贴到终端中: 默认写com.apple.Terminal FocusFollowsMo??use -string NO 然后重新启动终端。 在MacOS Mojave上测试了MondoMouse(https://www.atomicbird.com/about/mac-apps)。似乎对我来说很好! 要安装该面板,将出现"不再启用系统偏好设置"通知,该通知不再位于"系统偏好设置">"辅助功能"中。您必须在"安全和隐私">"辅助功能">"隐私"中进行设置 关于在打开的每个应用程序中允许MondoMouse的警告,但是一旦设置,它就可以正常工作!终于解脱了 :) 您实际上无法做得很好,因为Mac界面在设计时就没有考虑到焦点跟随鼠标(带有或不带有自动升高)。我怀疑这会很快改变,除非这样做,否则所有尝试实现焦点跟随鼠标的人都会遇到相同的障碍,并且最终结果(对于想要这种事情的人而言)并不令人满意。 因此,是的,您出于这个原因而感到疯狂-但出于技术原因。习惯于按自己的方式使用Mac,我相信您迫切希望它能够像您过去使用的X11东西一样表现出来,因为您会找到新的有效工作方式。 |