(我不想听别人说我有多疯狂想要那个!:)
焦点跟随鼠标也被称为点对焦点、指针焦点和(在某些实现中)草率焦点。[添加其他术语,使搜索更容易!]]鼠标光标
(我不想听别人说我有多疯狂想要那个!:)
焦点跟随鼠标也被称为点对焦点、指针焦点和(在某些实现中)草率焦点。[添加其他术语,使搜索更容易!]]鼠标光标
当前回答
大约10年来,我一直在周期性地回到这个问题上,最后我找到了一个简单的解决方案:AutoRaise https://github.com/sbmpost/AutoRaise
默认情况下,它启用焦点跟随鼠标和自动升起。您可以使用配置选项来延迟自动触发。
它也有所谓的“扭曲”功能,当你Command-Tab到窗口时,将鼠标指针居中。在我尝试之前,我从来不知道我需要它,但一旦我尝试了,我就不能没有它!
其他回答
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
)
我不知道还有其他应用程序支持它。
聚焦鼠标并不是一个特别适合OS X的输入法,因为它的菜单栏被设计在屏幕的顶部。当您将鼠标移出应用程序窗口以进入菜单时,如果它在此过程中穿过任何其他应用程序的窗口,菜单将发生变化。
所以是的,在回复dreeves的评论时,它对终端(或桌面上任何其他单一应用程序)工作得非常好,因为它只会影响终端窗口,所以当你切换窗口时,菜单永远不会改变。它适用于X11,因为X11应用程序通常将它们的菜单栏嵌入在窗口中,所以你不必离开窗口就可以访问它们。
当然,您可以通过在焦点更改和/或菜单切换之前引入人为延迟来解决菜单更改问题,但它永远不会像在其他桌面上那样工作。
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
}
你可以在终端机上做。通过在命令行中发出以下命令来创建应用程序:
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虚拟桌面的程序可以在系统范围内模拟它,但它需要花费$$(他们从未为OSX Leopard推出过版本)。
鼠标聚焦现在可以在macOS中实现,在我的Mojave中,使用chunkwm。 请参阅此堆栈溢出响应以获得“无自动触发”解决方案。自动驾驶是通过离开激活的
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