(我不想听别人说我有多疯狂想要那个!:)

焦点跟随鼠标也被称为点对焦点、指针焦点和(在某些实现中)草率焦点。[添加其他术语,使搜索更容易!]]鼠标光标


当前回答

So I decided to improve again on the work I did on the MouseFocus.app which still had some flaws. Those are fixed now. I renamed the whole thing to "AutoRaise" to better reflect what this tool does: When you hover a window it will be raised to the front (with a delay of your choosing) and gets the focus. The tool can be downloaded here. To use it, copy it to your /Applications/ folder making sure it is executable (chmod 700 AutoRaise). Then double click it from within Finder. To quickly toggle it on/off you can use the applescript below and paste it into an automator service workflow. Then bind the created service to a keyboard shortcut via System Preferences|Keyboard|Shortcuts.

更新(29-03-2017):AutoRaise二进制文件已经更新。如果命令行上没有指定delay,它现在也会在同一个主文件夹中查找autorrise .delay文件。这在使用下面的applescript时特别有用,因为“启动应用程序”不支持命令行参数。延迟应该以50ms 20ms为单位指定。例如,在一个终端上执行'echo 1 > ~/AutoRaise.delay'命令,指定延时为20ms。

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

其他回答

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
}

不幸的是,CodeTek虚拟桌面专业不再开发,该公司似乎已经退出业务几年前。

历史参考:http://www.codetek.com/ctvd/(不适用于新的OS X版本!)

历史回顾:http://www.osnews.com/story/6144

使用CodeTek Virtual Desktop Pro,你可以获得焦点-跟随-鼠标,并禁用自动上升,它也有一个虚拟桌面的寻呼机——类似于Fvwm在Linux上的工作方式。它运行得非常完美——这是我买过的最好的软件。 它与所有应用程序都一致,切换应用程序,将窗口移动到不同的工作区,以及导航工作区都比最新的OS X版本[10.6,10.7,10.8]要容易得多。

不幸的是,随着Mac OS X 10.5 VirtualDesktop Pro停止工作,看起来苹果积极确保CodeTek不会继续在它上面工作。

令人遗憾的是,苹果粉碎了CodeTek和它的产品——虚拟桌面专业版(Virtual Desktop Pro)真的比OS X当前实现的工作区更好。它的工作原理基本上就像LINUX上的Fvwm——超快的导航——没有不必要的点击或鼠标手势……

看到苹果规定窗口管理器(Finder)的行为,似乎不再允许第三方替换Finder,我很难过。

尝试了这些选项后,我的Command-Tab开始表现得很奇怪。以下是它如何再次关注应用程序的解决方案:

之前的一个特性,即终端的窗口焦点随着鼠标移动而改变的能力,在10.6中被打破,导致Command-Tab不能正确地转移窗口焦点。要解决这个问题,只需在终端中粘贴以下命令:

默认写com.apple.Terminal FocusFollowsMouse -string否

然后重新启动终端。

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

⌃-click (control-option-click)—切换焦点而不抬高窗口

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

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

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