La apelación en la notificación es, obviamente, típicamente su estética, pero si sus funcionalidades eran las que usted necesitaba, entonces está de suerte porque puede usar el diálogo de visualización para actuar literalmente exactamente. de la misma manera:
set userCanceled to false
try
set dialogResult to display dialog ¬
"How are you feeling?" with title ¬
"Hello" buttons {"Close", "Reply"} ¬
default button "Reply" cancel button ¬
"Close" giving up after 8 ¬
default answer ("")
on error number -128
set userCanceled to true
end try
log "User is feeling " & text returned of dialogResult
El "darse por vencido después de 8" significa que si no ocurre nada dentro de ese tiempo, la caja desaparecerá.
Teóricamente, también puedes hacer que se parezca más a una notificación haciendo que el cuadro de texto solo aparezca después de que el usuario presione "Responder". Puede hacer esto haciendo una copia de este cuadro de diálogo sin la parte de "respuesta predeterminada", y eliminando la parte de "abandonar después de 8" del original, luego colocando la copia antes del original y colocando esta declaración if alrededor del original:
if button returned of dialogResult is "Reply" then
Otra cosa que podrías hacer con el cuadro de diálogo, que estoy bastante seguro de que ni siquiera puedes hacer con la notificación de imagen, es controlarlo con el teclado. Cuando aparece un cuadro de diálogo con un cuadro de texto, puede comenzar a escribir de inmediato, presionar intro para enviar y presionar esc en cualquier momento.
Si está configurado para utilizar una notificación, desafortunadamente, la sección de notificación de la documentación de applecript sugiere que no es posible (con applescript). De acuerdo con esto, ni siquiera puedes devolver uno de los dos valores, y mucho menos dejar que el usuario ingrese una cadena.
] 1
Sin embargo, si pudiera obtener 2 respuestas de él, id sugiere tener un botón de cancelación y otro que reciba el texto de su portapapeles. Quizás no sea el enfoque más elegante, pero podría hacer el trabajo.