Mover ventanas entre pantallas sin arrastrar

1

Estoy usando un iMac 2011 con MacOS Sierra con una salida HDMI conectada a un proyector. Cuando quiero ver una película en el proyector, solo arrastro iTunes a la segunda pantalla y miro. Si me olvido de arrastrar iTunes de nuevo, termina atascado en la otra pantalla. Esto se debe a que la Mac todavía ve la segunda pantalla cuando el proyector está apagado. Esto significa que la única forma de volver a iTunes en la pantalla principal del iMac es volver a encender el proyecto para que pueda ver la ventana de iTunes y volver a arrastrarla a la pantalla principal. Esto también le sucede a cualquier otra aplicación que "dejo" en la pantalla externa y olvido arrastrar hacia atrás. Lo que he probado:

  • Salir y relanzar la aplicación. Esto no funciona, ya que MacOS recuerda en qué pantalla se encontraba la aplicación y lo vuelve a lanzar en esa pantalla
  • Buscando la aplicación en el Control de la Misión. Esto no funciona, porque cada pantalla tiene su propio Control de Misión. Por lo tanto, no puedo ver los espacios en la pantalla externa para agarrar la ventana de iTunes y arrastrarla a un espacio en la pantalla incorporada
  • Haga clic con el botón derecho en el icono de la aplicación en el dock y seleccione "Mostrar todas las ventanas". Esto solo muestra mi fondo de pantalla con un mensaje en el centro que dice "No hay ventanas disponibles" (probablemente porque la ventana está en la pantalla externa).

Espero que haya una combinación de teclas o algún otro truco para forzar a las ventanas de la aplicación a pasar a la pantalla actual.

    
pregunta mashers 28.08.2017 - 14:26

3 respuestas

0

El siguiente Applescript hace el trabajo:

tell application "iTunes"
    set position of windows to {100, 100}
    activate
end tell

Intenté agregar entrada de texto para que también pudieras usarlo para otras aplicaciones, como esto:

set theApp to the text returned of (display dialog "Which app do you want to bring back?" default answer "")

tell application theApp
    set position of windows to {100, 100}
    activate
end tell

Lamentablemente, ya no reconoce el atributo 'posición' de 'windows'. Consideré envolver el bloque tell en using terms from application theApp , pero esto no funcionó ya que using terms from application parece requerir una aplicación con nombre, no una variable. Forzarlo con using terms from application "iTunes" funciona si escribe "iTunes" en el mensaje de texto, pero cualquier otra aplicación genera un error al hacer coincidir la propiedad position .

He bloqueado una aplicación rápida en XCode que proporciona la entrada de texto para el nombre de la aplicación y luego la incrusta en un Applescript. Applescript mueve todas las ventanas de la aplicación especificada a la posición especificada por xOffset y yOffset , en la pantalla seleccionada actualmente. La aplicación podría ser más agradable agregando un menú de selección de las aplicaciones actualmente en ejecución, o incluso una forma de especificar la posición a la que deben moverse las ventanas. Esto no sería difícil de hacer, así que podría jugar un tiempo con él.

De todos modos, el código fuente de la aplicación está en GitHub, así que si alguien más lo encuentra útil, aquí está.

enlace

    
respondido por el mashers 29.08.2017 - 12:02
0

Si quieres un truco, puedes desconectar brevemente el cable HDMI del iMac. Eso debería indicar a Mac OS que solo hay una pantalla y moverá todas las ventanas a la única pantalla restante.

    
respondido por el Zonker.in.Geneva 28.08.2017 - 16:20
0

Aunque actualmente no puedo probarlos, ya que no tengo una segunda pantalla en este momento, tenía algunas ideas:

  • Hay una opción en Configuración de control de la misión llamada "Las pantallas usan espacios separados". ¿Puedes ver los espacios de tu proyector en Mission Control en tu Mac, con esta opción desactivada?
  • Si usa iTunes en modo de pantalla completa, ¿lo ve en el Control de Misión en su Mac?
  • "Imán" de la Mac App Store te brinda atajos de teclado para mover ventanas entre pantallas. Actualmente se reduce (al menos en el MAS austriaco) y cuesta 1,09 € / ~ 1 $.
respondido por el buboh 29.08.2017 - 17:36

Lea otras preguntas en las etiquetas