Tengo un problema con mi nuevo monitor. A menudo, cuando desbloqueo la pantalla, hay ventanas que cuelgan más allá del borde del escritorio. Es bastante irritante tener que arrastrarlos de vuelta al centro de la ventana manualmente.
Afortunadamente, encontré un script que puede hacerlo por mí: https://github.com/bradchoate/gather-windows/blob/master/Gather%20Windows.applescript
Desafortunadamente, solo funciona desde la ventana del editor de scripts. Cuando trato de ejecutarlo haciendo clic en su nombre en la barra de menú del script, no hace nada. Intenté guardarlo como una aplicación y ejecutarlo, con el mismo efecto.
¿Alguien puede ayudarme con eso?
Fui a la URL en su pregunta, hice clic en el botón Sin procesar , copié el código y lo pegué en el Editor de secuencias de comandos , donde lo guardé como una aplicación llamada: Gather Off-Screen Windows.app
Luego entré en Preferencias del sistema > Seguridad y privacidad > Accesibilidad , como se muestra en la imagen a continuación, y agregué Gather Off-Screen Windows.app .
Moví algunas ventanas fuera de la pantalla, luego ejecuté Gather Off-Screen Windows.app y se completó sin errores y moví las ventanas fuera de la pantalla completamente a la pantalla.
Ahora, mientras agregué la aplicación Reunir Windows fuera de la pantalla a Preferencias del sistema > Seguridad y privacidad > Accesibilidad después de haberla guardado, si no lo hubiera hecho, habría esperado ver los siguientes cuadros de diálogo cuando ejecuté la aplicación (que a veces uno o ambos pueden no aparecer):
Dicho esto, permítanme decir que si bien no he estudiado el script en profundidad para tener una comprensión completa de su mecánica, sin embargo, veo lo que considero una codificación deficiente en este caso al principio y cambiaría la siguiente línea de código de :
repeat with proc in application processes
A:
repeat with proc in (application processes whose visible is equal to true)
La razón por la que este cambio tiene sentido para mí es, por ejemplo, que en este momento tengo 38 procesos de aplicaciones ejecutándose, de los cuales solo 10 son visibles y, por lo tanto, parece absurdo seguir consultando los 28 procesos de aplicaciones que ni siquiera son visibles.
También tenga en cuenta que incluso minimicé algunas de las ventanas fuera de la pantalla antes de ejecutar la aplicación y cuando las eliminé, estaban completamente en la pantalla. Por lo tanto, la visible
propiedad en este caso se trata de que el proceso no minimice las ventanas fuera de la pantalla que, mientras están minimizadas, no son visibles.
Usaría Automator para crear un servicio que ejecute Apple Script. Y, como beneficio adicional, también puede usar las Preferencias del sistema para asignar un atajo de teclado al servicio.
A continuación se muestran los pasos necesarios para cada uno.
1. Crea un servicio usando Automator
Ahora probaría el servicio moviendo un par de ventanas fuera de la pantalla. Puede ejecutar el servicio desde cualquier aplicación yendo a la lista de Servicios dentro de cualquier menú de la aplicación (por ejemplo, Finder > Servicios, Safari > Servicios, TextEdit > Servicios, etc.) y seleccione el servicio que acaba de crear.
Suponiendo que funcione, también puede crear un atajo de teclado para ejecutarlo.
2. Creando tu atajo
Ahora debería poder usar el atajo de teclado para ejecutar el servicio.
NOTA: Soy consciente de que, para algunos usuarios, los métodos abreviados de teclado no parecen funcionar aunque hayan sido asignados a un servicio. Este es otro tema, pero si esto sucede en su caso, al menos puede ejecutar el servicio desde cualquier aplicación que esté usando.
Déjame saber cómo vas.
JU