Si mi entendimiento es correcto, hay dos tipos de contenido que pueden copiarse en el portapapeles global de Mac (para todo el sistema):
-
text
o
-
file
Aunque son dos tipos de datos diferentes y discretos, comparten el mismo portapapeles. Por ejemplo, si tiene una imagen file
en su portapapeles, y luego copia una oración text
, la oración sobrescribirá el archivo de imagen, y viceversa. Por favor, corrígeme si me equivoco.
Mi pregunta es, ¿cómo puedo determinar si el portapapeles no contiene text
, usando AppleScript?
El contexto de mi pregunta es un archivo .scpt de AppleScript que habla el texto seleccionado en la voz del sistema a un volumen específico. El texto seleccionado se copia al portapapeles, y luego el texto se pronuncia a través del comando say
. La secuencia de comandos se activa mediante la pulsación de teclas a través de FastScripts.app.
De vez en cuando, aparece un diálogo de error que dice "Número de error: -1728". Este error se produce cuando, en lugar de resaltar text
, he resaltado o seleccionado un file
real. La función de voz de Mac no puede hablar un file
; El habla solo puede verbalizar text
.
Por lo tanto, me gustaría crear una declaración if...then
en mi script para detectar este error. Idealmente, me gustaría convertir el file
en text
, si es posible de la forma en que lo hace TextEdit.