desarrollo-web-br-bd.com

El enfoque sigue al mouse (más el aumento automático) en Mac OS X

(¡No quiero escuchar lo loca que estoy por querer eso! :)

El enfoque que sigue al ratón también se conoce como punto a foco, enfoque de puntero y (en algunas implementaciones) enfoque descuidado. [¡Agrega otros términos que harán que esto sea más fácil de buscar!] X-mouse

148
dreeves

Puede hacerlo para Terminal.app emitiendo el siguiente comando en la línea de comandos:

defaults write com.Apple.Terminal FocusFollowsMouse -bool true

Para las aplicaciones X11 puedes hacer esto:

defaults write com.Apple.x11 wm_ffm -bool true

En Snow Leopard, usa esto en su lugar:

defaults write org.x.X11 wm_ffm -bool true

Aparentemente hay un programa llamado CodeTek Virtual Desktop que lo emulará en todo el sistema, pero cuesta $$ (y nunca sacaron una versión para OSX Leopard).

70
Clint Ecker

Steve Yegge escribió un ensayo sobre esto hace un tiempo, donde intentó y no pudo escribir una extensión adecuada. Desde entonces, he tratado de encontrar aplicaciones de mouse de enfoque para OS X y también he fallado.

55
John Millikin

El enfoque sigue al mouse no es un método de entrada particularmente adecuado para OS X porque su barra de menú fue diseñada para estar en la parte superior de la pantalla. Cuando mueve el mouse fuera de la ventana de la aplicación para acceder a los menús, si cruza las ventanas de otra aplicación en el camino, el menú cambia.

Así que sí, en respuesta al comentario de dreeves, funciona perfectamente bien para Terminal (o para cualquier otra aplicación única en el escritorio), porque las únicas otras ventanas a las que afectará son las ventanas de Terminal, por lo que el menú nunca cambia al cambiar de ventana. Y funciona bien para X11 porque las aplicaciones X11 generalmente tienen sus barras de menú incrustadas en la ventana, por lo que no tiene que salir de la ventana para acceder a ellas.

Por supuesto, puede solucionar el problema del cambio de menú introduciendo un retraso artificial antes de que cambie el enfoque y/o los interruptores del menú, pero nunca funcionará tan bien como lo hace en otros escritorios.

47
calum_b

Aunque esto está lejos de ser una solución completa, dos acciones prácticas que están integradas en OSX (10.11) son:

⌃⌥-clic (control-option-click) - cambia el foco sin abrir la ventana

haga clic en (comando-clic) - hace clic en la ventana sin cambiar de foco

No estoy seguro de cuándo se introdujeron estos accesos directos, ya que no he podido encontrarlos escritos en ningún lugar.

39
dvj

Amatista soporta esta característica. Se puede instalar fácilmente con brew cask install amethyst.

Aquí está el archivo de configuración que uso. Desactiva todas las funciones además de enfocar-sigue-mouse. Guárdelo en ~/.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
}
15
wprl

El problema del menú es la única razón por la que el enfoque tradicional sigue al mouse no funcionaría.

Aquí hay una alternativa: no cambie el enfoque hasta que se presione una tecla en el teclado. Esto cubriría el 95% de los casos de uso de focus-follow-mouse, y haría que este viejo usuario de XR realmente feliz. No sé cuántas veces me desplazaré a través de una página web en Chrome, y presionaré Comando-T para abrir una nueva pestaña, y buscaré la apertura de la pestaña en la Terminal. Si mi cerebro no ha detectado esto en 8 meses de uso de una Mac, nunca lo hará.

13
Kyle Rose

Así que decidí volver a mejorar en el trabajo que hice en MouseFocus.app que todavía tenía algunos defectos. Esos están arreglados ahora. Cambié el nombre de "AutoRaise" para reflejar mejor lo que hace esta herramienta: cuando se desplaza una ventana, se eleva al frente (con un retraso de su elección) y se enfoca. La herramienta se puede descargar aquí . Para usarlo, cópielo en su carpeta/Aplicaciones/asegurándose de que sea ejecutable (chmod 700 AutoRaise). Luego haz doble clic en él desde Finder. Para activarlo/desactivarlo rápidamente, puede utilizar el siguiente script de manzana y pegarlo en un automatizador service workflow. Luego vincule el servicio creado a un método abreviado de teclado a través de Preferencias del sistema | Teclado | Métodos abreviados.

Actualizar (29-03-2017): el binario de AutoRaise se ha actualizado. Si no se ha especificado ningún retraso en la línea de comandos, ahora también buscará un archivo de AutoRaise.delay en la misma carpeta. Esto es particularmente útil cuando se utiliza el applecript a continuación porque 'iniciar aplicación' no admite argumentos de línea de comandos. El retraso debe especificarse en unidades de 50ms. Por ejemplo, para especificar un retraso de 150 ms, ejecute este comando una vez en un terminal: '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

Actualización (18-04-2019): la fuente https://github.com/sbmpost/AutoRaise

9
sbmpost

Actualmente uso MondoMouse e incluso con sus peculiaridades no podría usar mi mac sin él. Tienen una versión de prueba gratuita y se lo recomendaría a todos.

MondoMouse

8
mcotton

Codetek tenía un producto que hacía esto, pero nunca lanzaron una versión para Leopard o posterior.

MondoMouse puede hacer un enfoque de seguimiento del mouse, pero no un aumento automático. Incluso el foco-sigue-mouse está roto aunque. Por ejemplo, no funciona bien con la pestaña de comandos (si la pestaña de comandos se dirige a una aplicación nueva y no toca el mouse, entonces debería no cambiar el foco de nuevo a donde sea que esté el puntero del mouse - - Estoy bastante seguro de que todas las implementaciones en Linux que he visto hacen esto bien, pero MondoMouse no lo hace).

Puede habilitar la función de seguimiento del mouse (sin autorización automática) solo para las ventanas de Terminal (solo ejecute lo siguiente en una terminal):

defaults write com.Apple.Terminal FocusFollowsMouse -string YES

Y de manera similar para las ventanas X11:

defaults write org.x.X11 wm_ffm -bool true 

(Para versiones de mac anteriores a 10.5.5 esto era:

defaults write com.Apple.x11 wm_ffm true

)

No conozco ninguna otra aplicación que lo soporte.

7
dreeves

chunkwm también admite esto (por defecto creo): chunkwm

6
asselinpaul

Es interesante que Leopard tiene un sabor de enfoque-sigue-mouse (sin autorización) habilitado de forma predeterminada. La rueda de desplazamiento funciona en ventanas desenfocadas.

5
cksubs

Desafortunadamente, CodeTek Virtual Desktop Pro ya no se desarrolla, y la compañía parece haber salido del negocio hace algunos años.

Referencia histórica: http://www.codetek.com/ctvd/ (¡no funciona en las nuevas versiones de OS X!)

Revisión histórica: http://www.osnews.com/story/6144

Al usar CodeTek Virtual Desktop Pro, pudo obtener Focus-Follow-Mouse y desactivar Auto-Raise, y también tenía un Buscapersonas para los escritorios virtuales, similar a cómo funciona Fvwm en Linux. Realmente funcionó perfectamente: el mejor software que he comprado. Trabajó de forma coherente con todas las aplicaciones, y el cambio de aplicaciones, el traslado de ventanas a diferentes áreas de trabajo y la navegación de las áreas de trabajo funcionaron mucho más fácilmente que la forma en que se implementa en las últimas versiones de OS X [10.6, 10.7, 10.8]

Desafortunadamente, con Mac OS X 10.5 VirtualDesktop Pro dejó de funcionar, y parece que Apple se aseguró de que CodeTek no continúe trabajando en ello.

Es triste que Apple haya aplastado a CodeTek y su producto. Virtual Desktop Pro fue realmente superior a la forma en que se implementan actualmente las áreas de trabajo de OS X. Funcionó básicamente como Fvwm en LINUX: navegación súper rápida, sin clics ni gestos innecesarios del mouse ...

Me entristece ver que Apple dicta el comportamiento del administrador de ventanas (Finder) y parece que ya no permite reemplazos de terceros para el Finder.

4
Tilo

Dar DwellClick intentarlo. Aunque no es para su propósito, el comportamiento de auto-clic tiene un efecto secundario similar al de auto-raise o focus-follow-mouse.

Personalmente, solo uso la función de hacer clic con el botón izquierdo después de que el movimiento del cursor se detenga, pero también hay un clic con modificadores y una ayuda para arrastrar ventanas que es muy útil.

También es un poco frustrante mientras navega por la web, ya que querrá deshabilitar la aplicación o ser más consciente de dónde se encuentra el cursor (por ejemplo, no en ningún enlace o botón que no quiera activar).

3
Ben M

También está el tema relacionado de aumento de clic. Bajo OSX, cada vez que se hace clic en una ventana, también se abre, ocultando así otras ventanas. Esto es problemático cuando se trabaja con copiar/pegar desde dos ventanas donde una de ellas cubre la mayor parte de la pantalla. Me gusta mantener un bloc de notas global (activo en todos los espacios de trabajo) desde el cual copio/pego cosas (podría ser cualquier cosa desde comandos, texto, elementos de tareas, etc.) Esto es un reto bajo OSX. Sería bueno tener una opción para deshabilitar el aumento al hacer clic.

3
sfar

El enfoque sigue al mouse ahora es posible en macOS, Mojave en mi caso, usando chunkwm . Vea esta Respuesta de desbordamiento de pila para una solución "no autorizada". Autoraise se activa dejando

chunkc set ffm_disable_autoraise         0

en ~/.chunkwmrc.

2
Les Grieve

Experimentando con esas opciones, mi Command-Tab comenzó a comportarse de manera extraña. Aquí está la solución de cómo vuelve a centrarse en las aplicaciones:

Parece que una característica anterior, a saber, la capacidad para cambiar el enfoque de la ventana de la Terminal con el movimiento del mouse, se rompe en 10.6 y hace que la tecla Comando no transfiera el enfoque de la ventana correctamente. Para solucionar el problema, simplemente pegue el siguiente comando en una Terminal:

los valores predeterminados escriben com.Apple.Terminal FocusFollowsMouse -string NO

Luego reinicie Terminal.

1
Team Pannous

Solución: Debido a que estaba tan acostumbrado a autorizar en Windows, lo extrañaba mucho en la Mac. La solución que encontré para Mac es Zooom (sí, tres o s). Tiene una función de autorora. Incluso puede configurar milisegundos para esperar antes de autoraise. No puedo vivir sin eso. Autoraise es una opción en las preferencias que puede ver en la captura de pantalla https://www.macupdate.com/app/mac/23203/zooomhttp://coderage-software.com/zooom/index. html

1
Gary Kaputnik

Probado MondoMouse ( https://www.atomicbird.com/about/mac-apps ) en MacOS Mojave. ¡Parece funcionar bien para mi!

Para instalar el prefpane, aparecerá un aviso "habilitar el acceso para dispositivos de asistencia" que no reside en Preferencias del sistema> Accesibilidad más. Tendrá que configurarlo en Seguridad y privacidad> Accesibilidad> Privacidad

Habrá varias advertencias sobre la posibilidad de permitir MondoMouse en cada aplicación que tengas abierta, pero una vez que la configuras, funciona bien. Qué alivio :)

0
MaltaCode