0 votos

Applescript: personalización de las opciones de los botones de la interfaz de usuario

Estoy tratando de utilizar Applescript para producir un simple menú de interfaz de usuario, pero en lugar de la predeterminada "OK", y "Cancelar" me gustaría cambiar el comportamiento a la siguiente:

[Título del diálogo en la parte superior]

"Cancelar" cambió a "Salir" "Aceptar" ha cambiado a "Ejecutar"

Haz que el botón "Run" ejecute un BASH script en la carpeta actual.

Código hasta ahora (no mucho):

osascript -e 'display dialog "Press RUN to execute the Optimizer" with title "Optimizer"'

0voto

Mockman Puntos 16

Para mostrar un diálogo con osascript, pruebe:

echo "set ddr to display dialog \"Press RUN to execute the Optimizer\" with title \"Optimizer\" buttons {\"Exit\", \"Run\"} default button \"Run\" cancel button \"Exit\"" | osascript -

Eso ejecuta el siguiente comando applescript desde el shell:

set ddr to display dialog "Press RUN to execute the Optimizer" ¬
with title "Optimizer" buttons {"Exit", "Run"} ¬
default button "Run" cancel button "Exit"

Tenga en cuenta que en el echo los " se escapan pero los {} no. Dependiendo de su enfoque, esto puede cambiar.

Ver más en display dialog en el ASLG aquí

Basándonos en el ejemplo de ASLG y en tu descripción anterior, para conseguir que se ejecute un shell script dirigido por el diálogo, prueba esto:

echo "set uc to false
try
set ddr to display dialog \"Press RUN to execute the Optimizer\" with title \"Optimizer\" buttons {\"Exit\", \"Run\"} default button \"Run\" cancel button \"Exit\"
on error number -128                                      
set uc to true
end try
if uc then
display alert \"User cancelled\"
else if button returned of ddr is \"Run\" then
do shell script \"pwd\"
end if" | osascript -

Por man osascript Un enfoque alternativo sería guardar el código applescript como un archivo de texto (o applescript compilado) en algún lugar y ejecutar osascript en él, así:

% osascript as_code.txt

% osascript as_code.scpt

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