7 votos

Script para obtener windows más allá de la frontera de la pantalla

Tengo un problema con mi monitor nuevo. A menudo, cuando me desbloqueo la pantalla, hay ventanas que están colgando más allá de escritorio de la frontera. Es bastante irritante tener que arrastrar de nuevo a la ventana de centro de forma manual.

Por suerte, he encontrado un script que puede hacer por mí: https://github.com/bradchoate/gather-windows/blob/master/Gather%20Windows.applescript

Por desgracia, sólo funciona desde el editor de secuencias de comandos de la ventana. Cuando intento ejecutarlo haciendo clic en su nombre en la secuencia de comandos de la barra de menú no hace nada. He intentado guardarlo como una aplicación y ejecutarla, para el mismo efecto.

Alguien me puede ayudar con eso?

5voto

user3439894 Puntos 5883

Fui a la dirección URL en su pregunta, haga clic en el Raw botón, copiar el código y pegar en el Editor de Comandos, donde he guardado como una aplicación denominada: se Reúnen frente a la Pantalla de Windows.aplicación

Después me fui a Preferencias del Sistema > Seguridad Y Privacidad > Accesibilidad, como se muestra en la imagen de abajo, y añadió que el se Reúnen frente a la Pantalla de Windows.app.

Me mudé algunas ventanas de la pantalla, y luego corrió el se Reúnen frente a la Pantalla de Windows.de la aplicación, y se completó sin errores y se trasladó a la pantalla de windows completamente en la pantalla.

Insert Image 1

Ahora bien, aunque he añadido el se Reúnen frente a la Pantalla de Windows.aplicación a Preferencias del Sistema > Seguridad Y Privacidad > Accesibilidad después de haber guardado, si yo no hubiera hecho, yo habría esperado a ver los siguientes cuadros de diálogo cuando me encontré con la aplicación, (que a veces uno o ambos no aparecen):

Insert Image 2

Insert Image 3

Dicho esto, permítanme decir que aunque no he estudiado la secuencia de comandos en profundidad para poder tener un medio de comprensión de la mecánica, sin embargo, yo veo lo que considero algunos pobres de codificación en esta instancia en el principio y le cambie la siguiente línea de código a partir de:

repeat with proc in application processes

A:

repeat with proc in (application processes whose visible is equal to true)

La razón de este cambio no tiene sentido para mí es, como un ejemplo, en este momento tengo 38 aplicación de los procesos que se ejecutan de los cuales sólo 10 son visibles y por lo que parece sin sentido para la consulta de más del 28 de aplicación a los procesos que no son visibles aún.

También tenga en cuenta que incluso me minimiza algunos de la pantalla de windows antes de ejecutar la aplicación y cuando me unminimized ellos, estaban completamente en la pantalla. Por lo que el visible de la propiedad en este caso es sobre el proceso no se minimiza la pantalla de windows que mientras minimizado no son visibles.

3voto

Monomeeth Puntos 139

Me gustaría utilizar Automator para crear un servicio que se ejecuta el Script de Apple. Y, como un bono, usted también puede usar las Preferencias del Sistema para asignar un método abreviado de teclado para el servicio.

A continuación son los pasos a seguir para cada uno.

1. Crear un servicio de uso de Automator

  1. Lanzamiento de Automator (que normalmente se encuentra dentro de la carpeta Aplicaciones)
  2. Vaya a Archivo > Nuevo
  3. Seleccione el Servicio y haga clic en Elegir
  4. En la parte superior derecha de la ventana que aparece, asegúrese de que "Ninguna entrada" es seleccionado desde el Servicio recibe la lista desplegable
  5. Garantizar los En la lista desplegable " mostrar "Cualquier aplicación"
  6. En la segunda columna contiene la larga lista, encontrar "Ejecutar AppleScript" y haga doble clic en él
  7. Esto agregará el Ejecutar AppleScript ventana de la derecha
  8. Ahora, reemplace la (* Su guión va aquí *) con la secuencia de comandos que desea
  9. Guarde el servicio utilizando un nombre significativo (por ejemplo, Reunir windows).
  10. Dejar De Automator

Ahora me gustaría probar el servicio por el movimiento de un par de ventanas en la pantalla. Puede ejecutar el servicio desde cualquier aplicación por ir a la lista de Servicios dentro de cualquier menú de la Aplicación (por ejemplo, el Buscador de > Servicios, Safari > Servicios, TextEdit > Servicios, etc) y seleccione el servicio que acaba de crear.

Suponiendo que funciona, también puede crear un método abreviado de teclado para ejecutar.

2. Crear el acceso directo

  1. Vaya a Preferencias del Sistema > Teclado > accesos directos
  2. Seleccione Servicios de la barra lateral
  3. Encuentre su servicio (que va a estar en la lista en el lado derecho)
  4. Agregar un acceso directo, haga doble clic en el nombre del servicio
  5. Ahora vaya a Preferencias del Sistema > Seguridad Y Privacidad > Privacidad
  6. Seleccione la Accesibilidad en la barra lateral
  7. Haga clic en el signo + (puede ser necesario desbloquear el candado si es bloqueado)
  8. Agregar Automator.
  9. Agregar el Buscador (para encontrar esta tendrá que navegar a /System/Library/core services/Buscador.de la aplicación).
  10. La salida de las Preferencias del Sistema.

Ahora usted debería ser capaz de utilizar el método abreviado de teclado para ejecutar el servicio.

NOTA: soy consciente de que para algunos usuarios de métodos abreviados de teclado no funcionan a pesar de que ha sido asignado a un servicio. Este es otro tema, pero si esto sucede en tu caso, al menos se puede ejecutar el servicio desde cualquier aplicación que estés usando.

Déjame saber cómo te vaya.

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