Obtener el contenido del portapapeles con AppleScript

Ya hemos visto que en AppleScript podemos acceder a mucha de la información que está disponible en nuestro equipo pero aún no hemos visto una de las funciones más simples y útiles de los sistemas operativos modernos: el portapapeles.

El portapapeles es un espacio en memoria donde se aloja una copia del contenido que hayamos copiado o cortado con las funciones del sistema operativo.

¿Para qué podemos querer acceder a la información de portapapeles desde un script? Pues desde una simple función para mostrar el contenido del portapapeles en un cuadro de diálogo para verificar qué tenemos almacenado en esa memoria o para crear un script que nos traduzca el texto del portapapeles al idioma que necesitemos.

Con AppleScript podemos acceder a ese espacio de memoria utilizando la variable the clipboard. Esta variable de AppleScript puede almacenar cualquier tipo de contenido como imágenes, texto, audio o la información de un fichero de una carpeta. Esto nos obliga a convertir esta información en algo comprensible para nuestro script.

Veamos un ejemplo en el que obtenemos como texto la información guardada en el portapapeles:

set clipboardContent to (the clipboard as text)

Con esto podemos crear un script para verbalizar el contenido del portapapeles utilizando la voz del sistema. El código sería algo como esto:

set clipboardContent to the clipboard as text

say clipboardContent

Este código funciona pero no tiene en cuenta si en el portapapeles el contenido que está almacenado es convertible a texto. Para evitar posibles errores de ejecución de nuestro script debemos emplear un bloque try que nos permita controlar errores de ejecución en un script. El código quedaría así:

try

  set clipboardContent to the clipboard as text

  say clipboardContent

on error

  say "El portapapeles no contiene texto"

end try

Con esta modificación nuestro script siempre verbalizará algo aunque sea para notificarnos que el contenido de nuestro portapapeles no es texto.

CenteredHead disponible en la Mac AppStore

Ya está disponible CenteredHead en la MacAppStore.

Utilidad para personas ciegas

El objetivo de esta herramienta es ayudar a las personas ciegas o que no puedan ver su posición con respecto a la pantalla para poder situar su cabeza en el centro de atención de la cámara de su equipo Mac. De esta forma una persona que no pueda ver su pantalla podrá saber si está situado en el centro de la pantalla que muestra su cámara.

Su funcionamiento es muy sencillo: abre la aplicación y usa las instrucciones habladas y el sonido para saber si tu cabeza está centrada delante de la cámara.

Una aplicación de Tyflos Accessible Software

Esta es la aplicación número 10 publicada en la AppStore y la primera que es únicamente para MacOS por ahora.

Como todas las aplicaciones publicadas por Tyflos Accessible Software incorpora todas las características de accesibilidad disponibles para MacOS. La aplicación es totalmente compatible con VoiceOver, Zoom, control por voz y todas las personalizaciones disponibles en MacOS para la accesibilidad.

Puedes visitar la página de Centered head en Tyflos Accessible Software.

Crea un cronómetro de cuenta atrás en AppleScript

Crear  a mano un simple cronómetro para controlar que no se nos pase el tiempo delante de nuestro ordenador es algo sencillo con unos pocos conocimientos de AppleScript.

Con los artículos publicados en este sitio web tenemos la información suficiente para crear un script que nos pregunte cuántos segundos queremos para la cuenta atrás y que tras finalizar la cuenta atrás reproduzca un sonido.

El código sería el siguiente:

on playSound(soundFileName)
	do shell script "afplay /System/Library/Sounds/" & soundFileName
end playSound

on run
	set numberOfSeconds to text returned of (display dialog "Introduzca los segundos para la cuenta atrás" default answer "")
	delay numberOfSeconds
	playSound("Glass.aiff")
end run

Es un script sencillo que puede ser mejorado fácilmente incluyendo, por ejemplo, soporte para reconocer horas y minutos.