¿Hay alguna aplicación gratuita que pueda usar para mover una ventana de un monitor a otro (suponiendo que solo hay dos monitores) a través del teclado? No debería tener que usar el ratón en absoluto (por ejemplo, para seleccionar la ventana o el monitor, o para arrastrar).
Sé que esto se puede hacer en Linux usando compiz; Me sorprende que no haya una opción (gratuita) para OS X.
ACTUALIZACIÓN: Spectacle ya no se mantiene. El sitio web reenvía a los usuarios a Rectangle, consulte la respuesta de Jack o https://github.com/rxhanson/Rectangle/releases .
Acabo de probar Spectacle , una gran aplicación y es gratis.
Esto es lo que puede hacer con el grupo de ventanas seleccionado.
Debe activar el soporte de accesibilidad.
Preferencias del sistema > Accesibilidad > Habilitar acceso para dispositivos asistidos
Según los comentarios: la opción de accesibilidad en Mavericks ahora está en
Preferencias del sistema > Seguridad y privacidad > Privacidad > Accesibilidad
Hay otra opción que es completamente gratuita y no requiere una aplicación de terceros. Tenga en cuenta que solo probé esto en la última versión de MacOS, Catalina (a partir de ahora). Para otras versiones del sistema operativo, consulte Crear métodos abreviados de teclado para aplicaciones en Mac
system_profiler SPDisplaysDataType
Para monitores externos, este comando mostrará una lista de pantallas (después de la GPU a la que está conectado).Terminé usando BetterTouchTool para hacer esto. En general, encontré que es el más configurable. Aquí hay una captura de pantalla de mi configuración, mientras que Cmd++ Ctrlmueve Wuna ventana al siguiente monitor.
Si tiene una configuración de 3 monitores (2 monitores externos y el monitor Mac), puede configurar "Mover ventana al siguiente monitor" a la derecha haciendo lo siguiente:
El único inconveniente de BetterTouchTool es la escasa compatibilidad con Lion (no todas las funciones están disponibles), pero está disponible como versión alfa. Creo que este atajo de teclado específico debería funcionar bien en Lion con la versión estable.
Echa un vistazo a la aplicación Rectangle . Es gratuito, de código abierto y se anuncia como el sucesor espiritual del otrora brillante (pero lamentablemente, ya no se mantiene) Spectacle.
Puede instalar la aplicación Rectangle a través de su sitio web o con Homebrew:brew install --cask rectangle
Moom puede hacer esto. No es gratis , pero Moom es una fantástica aplicación de gestión de ventanas. Le permite asignar atajos de teclado a una variedad de movimientos de ventanas (incluido el movimiento a otra pantalla) y le brinda una superposición de los controles de ventana estándar de OS X.
Aquí hay algunas capturas de pantalla :
Aquí hay una lista de aplicaciones de administración de ventanas de otra publicación de AskDifferent, ¿Qué opciones de administración de ventanas existen para OS X? . La única opción gratuita es Shiftit , y no estoy seguro si ofrece la funcionalidad que estás buscando.
Solo quería mencionar que hay una configuración System Preferences > Mission Control
llamada "Agrupar ventanas por aplicación" que muestra los íconos de la aplicación y le permite arrastrar el ícono a otro escritorio/monitor. Es increíble para las aplicaciones que tienen más de 10 ventanas.
Options
, luego seleccionar Desktop on Display 1
o Desktop on Display 2
, etc.Estuve usando ShiftIt durante mucho tiempo.
Sin embargo, pensé que no era compatible con múltiples pantallas, así que comencé a buscar alternativas. Instalé Spectacle y cambié las combinaciones de teclas para que fueran las mismas que las de ShiftIt.
Luego, cuando quise desinstalar ShiftIt, descubrí que en realidad admite mover ventanas a diferentes pantallas, usando:CtrlOptionCommandN
Así que desinstalé Spectacles; Todavía soy un feliz usuario de ShiftIt.
Fullscreen
, que en realidad no es la pantalla completa (zoom) de MacOS, sino maximizar. Y cuando una ventana está en modo de pantalla completa (ampliada), Spactacle no puede controlarla en absoluto. Pero ShiftIt puede quitar el zoom y luego es posible moverlo a otra pantalla.FYI, Magnet, la popular aplicación de ubicación/dimensionamiento de ventanas, tiene accesos directos de "Pantalla siguiente" y "Pantalla anterior" listos para usar, al menos en la versión 2.1 (14 de febrero de 2017).
BetterSnapTool también tiene esta función (como acceso directo). Creo que era una aplicación gratuita, y ha sido excelente.
Hay un atajo donde puedes maximizar la ventana en la siguiente pantalla (entre otros atajos o formas de hacerlo). Vea la captura de pantalla de los accesos directos relacionados.
basándose en la respuesta anterior, usando controles nativos de Mac. Hay un elemento de menú que puede usar para mover aplicaciones entre pantallas. Sin embargo, no tiene un atajo de teclado, que es lo que estaba buscando. ¡Pero hay esperanza! Con los atajos de teclado, puede crear sus propios atajos para mover ventanas entre pantallas. Así es cómo:
Busque el nombre del elemento de menú para el que desea crear un acceso directo: haga clic en Ventana en cualquier aplicación y busque un elemento de menú que diga "Mover a"
Cree un atajo de teclado para hacerlo: abra la configuración del teclado (Preferencias del sistema -> Teclado). Elija "Accesos directos de aplicaciones". Haga clic en + para crear un nuevo acceso directo. Establezca la aplicación en "Todas las aplicaciones". Establezca el título del menú exactamente en la redacción del elemento del menú que encontró arriba. Establezca el atajo de teclado que desea usar.
Si lo hizo con éxito, ahora debería ver el atajo junto al elemento del menú y usar su teclado debería mover la ventana a la otra pantalla.
NOTAS: deberá realizar los pasos anteriores para crear un acceso directo para cada pantalla que tenga. Para obtener los nombres de pantalla, deberá mover las aplicaciones a cada pantalla y ver a qué cambia el elemento del menú y luego crear un acceso directo para esa pantalla.
Cuando hice esto por primera vez, el atajo no funcionó. Sospecho que elegí un atajo de teclado que ya estaba en uso en otro lugar. Solucioné esto usando los botones Comando, Opción y Control como parte del atajo
Esto funciona para casi todas las aplicaciones que tengo, pero una aplicación no es compatible porque no tiene el elemento de menú.
Si no desea instalar ningún software de terceros, puede cambiar la ventana actual a cualquier monitor yendo al siguiente menú
Ventana -> Seleccione el nombre del monitor/pantalla
Si el menú no está habilitado, haga clic en el botón verde para salir de la pantalla completa y habilitar el menú a continuación, luego haga clic en
Ventana -> Seleccione el nombre del monitor/pantalla
Además, después de salir del modo de pantalla completa, si pasa el mouse sobre el botón verde, puede obtener una ventana emergente con la opción de "mover a la pantalla deseada", haga clic en él para moverlo a la pantalla deseada.
Espero que esto ayude
Esta aplicación de código abierto es simple, fácil de usar y gratuita. Cumplirá lo que necesitas.
Inspirado en la respuesta de Wellington Felix , con la misma advertencia de que solo funciona para aplicaciones que tienen la opción "Ventana → Mover".
Move to <display name>
o
Esto también se puede hacer usando el administrador de ventanas de mosaico gratuito y de código abierto Amethyst usando el atajo "Cambiar ventana enfocada a pantalla (en sentido contrario a) las agujas del reloj".
Existe una herramienta para usuarios más avanzados llamada Hammerspoon . Con esto, puede lograr muchas cosas y , como señaló esta respuesta a una pregunta en StackOverflow , es bastante fácil lograr lo que desea con una configuración simple de Hammerspoon.
Hammerspoon no es exactamente una aplicación, pero puede resultar interesante para algunos usuarios.
-- From https://stackoverflow.com/a/58662204
hs.hotkey.bind({'alt', 'ctrl', 'cmd'}, 'n', function()
-- Get the focused window
local win = hs.window.focusedWindow()
-- Get the screen where the focused window is displayed, a.k.a. current screen
local screen = win:screen()
-- Compute the unitRect of the focused window relative to the current screen
-- and move the window to the next screen setting the same unitRect
win:move(win:frame():toUnitRect(screen:frame()), screen:next(), true, 0)
end)
no1lives4ever