2 votos

Hacer una captura de pantalla de una ventana en Mac sin usar la barra espaciadora y luego hacer clic con el ratón

Quiero hacer una captura de pantalla de una ventana en un mac.

Actualmente estoy usando shift + cmd + 4 entonces space y luego hacer clic con el ratón.

El proceso es muy incómodo, tienes que hacerlo en ese orden o tendrás que repetirlo de nuevo..

Quiero un simple atajo de teclado para hacer lo que shift + cmd + 3 .

Quiero usar un atajo tan simple como para tomar una captura de pantalla de una ventana.

¿Es posible?

2voto

user3439894 Puntos 5883

Esta es mi solución, que he llamado Ventana-Snapshot , basándose en una muy simple AppleScript , ya sea guardado como una aplicación desde el script Editor y o utilizados como parte de un Servicio de automatización con atajo de teclado asignado. Aunque como Servicio utiliza la utilidad de terceros utilizada en el AppleScript de captura de ventanas de la aplicación solución de un* clic de ratón detallado a continuación.

  • Nota: Automatizador utilizado como Servicio es, por sí mismo, una buena característica, sin embargo, cuando se utiliza con un atajo de teclado global puede ser problemático a menos que el atajo de teclado utilizado, es a la vez utilizable y no se utiliza en otro lugar en OS X o cualquier otro abierto Aplicaciones cuya ventana debe ser capturada. Por eso he incluido el uso del AppleScript tanto como Aplicación AppleScript y o un Servicio de automatización con atajo de teclado asignado. Mientras que algunos atajos de teclado asignado a un Servicio de automatización funcionará con la mayoría de las aplicaciones de Windows, sin embargo puede no funcionar con algunas, incluso si ese atajo de teclado no está asignado a esa aplicación de la ventana que se está capturando. En estos casos, el AppleScript de captura de ventanas se puede utilizar a través de la aplicación Servicio de automatización .

Como aplicación AppleScript

Se puede configurar para que sea un solución con dos clics de ratón ( por defecto ) o un solución de un* clic de ratón .

  • * Nota: Como solución de un* clic de ratón requiere el uso de una utilidad de terceros llamada CLICLICK . Por lo que sé, no hay ninguna evento de ratón/ratón izquierdo hacia abajo en AppleScript y, por lo tanto, el uso de una utilidad de terceros o, de lo contrario, el uso de código adicional a lo que ya se presenta para emplear métodos que utilizan otros recursos, nativos y o de terceros.

Como solución con dos clics de ratón el AppleScript se guarda como una aplicación, lo guardé como Ventana-Snapshot en Aplicaciones y luego lo colocó en el Muelle arrastrando y soltando el paquete de aplicaciones en el Muelle donde quería que estuviera.

  • Lo que me gusta del solución con dos clics de ratón es cuando el Azulejos de muelle de la Ventana-Snapshot aplicación se hace clic, es literalmente como si hubiera presionado manualmente shift - command - 4 entonces Space bar en el teclado y ahora todo lo que tengo que hacer es pasar el ratón por encima de el ventana de destino Quiero capturar y luego clic del ratón de la misma. Así, un solución con dos clics de ratón ¡! Este método permite pulsar el esc para abortar, al igual que la tecla atajo de teclado tendría. Además, no depende del uso de una utilidad de terceros y una segunda delay como temporizador para permitir el posicionamiento del puntero del ratón antes de que se agote el tiempo y tome automáticamente la instantánea utilizada en el solución de un* clic de ratón . Por sí mismo, el solución con dos clics de ratón es la solución más sencilla presentada aquí.

Como solución de un* clic de ratón el AppleScript se guarda como una aplicación y la utilidad de terceros CLICLICK se añade al paquete de aplicaciones y se descomenta el código correspondiente en el script.

  • Nota: El solución de un* clic de ratón utiliza un segundo delay para dar tiempo a posicionar el puntero del ratón en cualquier lugar de la ventana de destino a capturar y no importa si la ventana es o no la más alta, cuando el segundo delay comando se agota el tiempo de espera Cualquier ventana sobre la que esté el ratón es la que se captura en la instantánea. La captura se puede abortar pulsando la tecla esc antes de la segunda delay comando se agota el tiempo de espera .

Como servicio de automatización con atajo de teclado

Como Servicio de automatización se crea utilizando el ApplesScript modificado ligeramente, y un atajo de teclado se asigna al Servicio en: Preferencias del Sistema > Atajos de teclado > Servicios

  • Nota: El atajo de teclado Lo que asigné es shift - command - 5 o ⇧⌘5, que parecía una opción lógica, y cualquiera que sea la ventana sobre la que se sitúe el ratón es la que será capturada por la instantánea. No es necesario que la ventana sea totalmente visible para ser capturada o que sea la ventana más alta.

Código AppleScript de la Ventana-Snapshot

tell application "System Events"

    (* Note: If used as the default two mouse-click solution then use as is, nothing else needs to be done. *)

    keystroke "$" using {command down}
    delay 0.25
    keystroke space

    (* Note: If using as the one mouse-click solution or Automator Service, uncomment the 
    two lines below having double-dashes in front by removing the double-dashes. 
    Also when using as the one mouse-click solution, set a value on the 'delay' command 
    below to an appropriate value which allows you the time necessary to move the mouse  
    over the target window before that delay command times out and the snapshot is taken.
    The default of '1.5' is in this use case is a somewhat arbitrary value, set it to suite.

    Note: When using as an Automator Service set the 'delay' command below to '0.25', 
    the same as in the first 'delay' command. *)

    -- delay 1.5
    -- do shell script "/Applications/Window-Snapshot.app/Contents/Resources/cliclick c:."

end tell
  • Nota: Como puede ver hay un 0.25 segundo valor, delay 0.25 En la primera delay este breve retraso es necesario, ya que debe haber un retardo entre los dos keystroke comandos. Si se utiliza el solución de un* clic de ratón el segundo delay El mando tiene que ser algo más realista. Establezca un valor que le permita el tiempo necesario para mover el ratón sobre la ventana de destino antes de que el comando de retraso expire, por ejemplo 1.5 etc.

Creación de la aplicación Window-Snapshot

  1. Abrir script Editor (o Editor de AppleScript si procede).

  2. Copiar y pegar el Código AppleScript de la Ventana-Snapshot desde arriba, en el Sin título ventana del documento y, a continuación, pulse Compilar .

  3. Pulse S para guardar y fijar el Formato de archivo: a Aplicación guardándolo en el Aplicaciones carpeta.

  4. Dar el Ventana-Snapshot de la aplicación un icono personalizado. He utilizado un icono de una cámara que se encuentra en Buscar iconos y se utiliza este en particular haciendo clic en el botón "Descargar ICNS". Abrí el archivo "scanners_cameras.icns" descargado en Vista previa y lo copié y luego lo pegué en el Obtener información hoja del Window-Snapshot.app seleccionando primero el pequeño icono en la esquina superior izquierda de la Información de la ventana hoja. (En Aplicaciones seleccione el Window-Snapshot.app y pulse: I )

  5. Ahora arrastrar y soltar el Ventana-Snapshot paquete de aplicaciones del Aplicaciones en la carpeta Muelle donde te gustaría que estuviera.

Ahora está listo para ser utilizado, haga clic en el botón Ventana-Snapshot Azulejos de muelle y, a continuación, haga clic en la ventana de destino que desea capturar.

  • Nota: Las instantáneas se guardan con la misma configuración de nombre y ubicación que si se pulsara ⇧⌘3 sólo se guardaría el Windows de destino. La página web por defecto está en el Escritorio usando Screen Shot yyyy-mm-dd at hh.mm.ss AM|PM o si el por defecto ha sido cambiada será a la forma en que está configurada actualmente.

Configurar la aplicación Window-Snapshot.app para que sea una solución de un solo clic con el ratón utilizando CLICLICK

  1. Descargar CLICLICK y montar el archivo cliclick.dmg y colocar una copia del cliclick ejecutable dentro del Window-Snapshot.app paquete de aplicaciones en la ruta mostrada en el script. Ctrl-Click el Ventana-Snapshot selección de aplicaciones Mostrar el contenido del paquete y navegar hasta el Recursos colocando una copia de la carpeta cliclick ejecutable allí.

  2. Descomente las dos líneas que están debajo del (* Note: If using as the one mouse-click solution or Automator Service, comentarios eliminando los guiones dobles, -- delante del código.

  3. Guarde los cambios realizados en el AppleScript .

Ahora está listo para ser utilizado como solución de un* clic de ratón .

Creación del servicio Window-Snapshot Automator

  1. Abrir Automatizador seleccionar Servicio .

  2. Establecer Servicio que recibe seleccionado a sin entrada dejando en cualquier aplicación tal cual. Añade un Ejecutar AppleScript y luego copiar y pegar el Código AppleScript de la Ventana-Snapshot arriba en el Ejecutar AppleScript sobrescribiendo el código por defecto.

  3. Descomente las dos líneas que están debajo del (* Note: If using as the one mouse-click solution or Automator Service, comentarios eliminando los guiones dobles, -- delante del código y establecer el valor del segundo delay comando para 0.25 .

  4. Salvar el Servicio presionando S nombrándolo como Ventana-Snapshot .

  5. Abrir Preferencias del sistema y navegar hasta Teclado > Atajos de teclado > Servicios y desplácese hasta la parte inferior, luego en General verás Ventana-Snapshot y selecciónelo. Ahora haga clic en añadir acceso directo y pulse shift - command - 5 o: ⇧⌘5

Ahora está listo para ser usado como Servicio utilizando el atajo de teclado : ⇧⌘5

  • Nota: Si sólo quieres usarlo como Servicio tendrá que ajustar el nombre de la ruta al cliclick ejecutable a donde lo hayas instalado. Puedes intentar ponerlo en el paquete de servicios en, por ejemplo /Users/$USER/Library/Services/Window-Snapshot.workflow/Contents Aunque no lo he probado, ya que me gusta tenerlo como AppleScript aplicación que lo utiliza como solución con dos clics de ratón y un Servicio de automatización con atajo de teclado asignado.

Para terminar, me gustaría decir que esta simple AppleScript ciertamente puede ser ampliado para añadir funcionalidad adicional tanto como una aplicación o un servicio, es decir, la adición de código para guardar la instantánea con diferentes nombres y ubicaciones, etc., sin embargo voy a dejar que para modificar si así lo desea.

1voto

Farinha Puntos 5518

Un enfoque sería utilizar el screencapture comando:

screencapture -w window.png

que capturará la primera ventana en la que haga clic después de ejecutar el comando, y la guardará como window.png .

Hay varias formas de vincular este comando a un atajo de teclado, por ejemplo, creando un Servicio de Automator que lo ejecuta como un shell script o utilizando un lanzador de terceros como Alfred . De cualquier manera, probablemente también querrás añadir alguna inteligencia al proceso que elija un nombre de archivo diferente cada vez, para que no sigas sobrescribiendo tu captura de pantalla anterior.

No conozco una manera fácil de capturar siempre la ventana más frontal... ¿tal vez un gurú de AppleScript pueda ayudar con eso?

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