29 votos

¿Cómo puedo forzar el lanzamiento de una aplicación en el segundo monitor?

MacOS X 10.10.1 Yosemite.

¿Cómo puedo forzar que una aplicación recién lanzada se abra en un monitor específico?

Preguntas de seguimiento: En su defecto, ¿cómo puedo forzar que una nueva ventana que está abriendo una aplicación actual se abra en un monitor específico?

¿Y cómo puedo mover una ventana sin bordes?


Mi situación específica:

Tengo una configuración de dos monitores. Mis juegos se abren en modo "pantalla completa" y hacen que el segundo monitor sea inútil. El juego en modo "Windowed" no tiene el botón verde de pantalla completa disponible en la parte superior izquierda. Sin embargo, sí me permite establecer una resolución personalizada y ponerlo en modo sin bordes.

Así que he puesto la resolución del juego en 1920x1060 (la resolución de mi monitor menos 20 píxeles de altura para tener en cuenta la barra de menú en la parte superior). Si lanzo el juego con bordes, puedo mover la ventana a donde quiera, pero también tengo que mirar el borde de mi pantalla todo el tiempo, lo que prefiero no hacer. Además, por alguna razón, el juego maneja el desplazamiento por los bordes significativamente mejor en el modo sin bordes (o a pantalla completa) que en el modo con ventanas.

No consigo averiguar cómo poner el juego en mi segundo monitor. Mi primer monitor tiene el dock en el lado izquierdo, y ahí es donde quiero que esté el dock. Pero el juego se lanza en este primer monitor, y el dock se sienta encima de él. No quiero ocultar automáticamente el dock. No quiero que el dock esté en otra posición.

Estoy buscando más control sobre este sistema de ventanas.

22voto

jherran Puntos 6511

Cuando la aplicación esté en el dock haz clic izquierdo sobre ella y aparecerá un menú. Seleccione las opciones de asignar al escritorio en la pantalla 2.

enter image description here

Como alternativa, he utilizado Moom que me permite mover una ventana de un monitor a otro con un atajo definido. En mi caso + . Pero este es un software de pago.

enter image description here

12 votos

No tengo estas opciones para la aplicación en cuestión. i.stack.imgur.com/Y838a.png

0 votos

¿Tiene esta opción para otras aplicaciones? Lo tengo en todas las aplicaciones.

0 votos

Tengo esto para otras aplicaciones, sí.

12voto

Hamu XD Puntos 24

Hacer que cualquier aplicación se inicie en el otro monitor:

Estoy usando MacOS Mojave 10.14. Considera primero las soluciones más sencillas:

  1. Primero decida cuál es su pantalla por defecto eligiendo el monitor por defecto, tal vez pueda resolver su problema cambiando de monitor por defecto. Vaya a System Preferences -> Displays -> Arrangement . La pantalla con la barra blanca horizontal es la predeterminada. Alternar eso.

  2. En segundo lugar, comprueba si tu aplicación tiene un gestor de ventanas interno, como hace iterm2 y el navegador Chrome. Busca en la configuración del sistema de la aplicación o en los perfiles. Esto es específico de la aplicación y puede no tener nada.

  3. Hay muchos sistemas de gestión de ventanas de Apple de terceros, algunos gratuitos y otros de pago. Instálelos e intentarán imponer controles sobre cómo se inician y se detienen estos programas e imponer la ubicación del escritorio, el tamaño y la posición de las ventanas. Tenga cuidado, ya que estos programas pueden luchar entre sí.

Si ninguna de las soluciones preconfeccionadas anteriores es suficiente:

Desea tener un control total sobre el inicio del programa, el tamaño de la ventana, el posicionamiento de la ventana, el reposicionamiento de la ventana y el final del programa desde los scripts de fondo.

Saque las herramientas de poder en el sistema de gestión de Windows Quartz Compositor de Apple a través de osascript herramienta:

Haga un nuevo archivo demo.scpt con esto:

#this logs text to stdout
log("foobar")
#define a variable
set moo to 9
log(moo)
#get the window dimensions of the Iterm2 window:
tell application "Iterm2" to set window_geometry to (get the bounds of the front window)
log(window_geometry)
tell app "Finder" to display dialog "hello world"

Ejecútalo así desde la terminal:

osascript demo.scpt

El resultado de este pequeño script informa de la geometría de la pantalla de la ventana de Iterm2, y aparece una pantalla diciendo hola mundo. Lee la guía de osascripting sobre cómo pasar parámetros para elegir monitor, tamaño, posicionamiento, cualquier cosa que el SO pueda ver. Si osascript tiene acceso sudo, entonces otorga acceso total de lectura y modificación al sistema de gestión de Windows de Quartz Compositor.

Usando osascript para mantener un pie en el shell de unix, y el otro pie en el sistema de gestión de ventanas de apple, parece ser turing completo ya que todo es visible y modificable a través de scripts, sólo tienes que leer la geometría de la ventana y aplicar la geometría de la ventana en el inicio de la aplicación.

Aplicar el posicionamiento de la ventana al abrirla

tell application "System Events"
    set position of first window of application process "Preview" to {10, 10}
    set size of first window of application process "Preview" to {500, 1000}
end tell

Ejecútalo osascript demo.scpt y la ventana de vista previa se reposiciona.

0 votos

El paso 1 hizo bien su trabajo. Gracias.

4voto

ikeeki320 Puntos 11

1voto

Medvedus Puntos 11

Spectacle también funciona, ¡y es gratis! El único inconveniente en comparación con Moom es que no tiene los bordes calientes al estilo de Windows. https://www.spectacleapp.com/

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X