1 votos

osascript script para obtener respuesta y botones de diálogo de pantalla.

Estoy creando un script chulo para que me moleste pidiendo que cierre algunas apps que me distraen y que abro sin darme cuenta. Para ello hago esto:

MINUTES_UNTIL_ASK_TO_CLOSE=`osascript -e 'set T to text returned of (display dialog "Do you really want to use this app?" default answer "1" with icon caution buttons {"Close to better Focus or Relax", "Remember again after minutes..."} default button "Remember again after minutes...")'`

Obtiene el texto introducido en la entrada (el número de minutos hasta acordarse de nuevo de cerrar). El problema es que no estoy siendo capaz de encontrar la manera de obtener el botón que se ha pulsado .

He encontrado lo siguiente hermoso código en otra respuesta en esta plataforma :

set theResultReturned to (display dialog "hallo" buttons {"h", "a"} default button "a" default answer "")
set theTextReturned to the text returned of theResultReturned
set theButtonReturned to the button returned of theResultReturned

Pero no consigo que la variable sepa qué botón se ha pulsado:

BUTTON_PRESSED=`osascript -e '... ??

1voto

wch1zpink Puntos 11

Es posible que desee probar algo como este primer comando en Terminal:

DIALOG_RESULTS="$(osascript -e 'set {T,B} to {text returned, button returned} of (display dialog "Do you really want to use this app?" default answer "1" with icon caution buttons {"Close to better Focus or Relax", "Remember again after minutes..."} default button 2)' -e 'return T & "\t" & B')" &&MINUTES_UNTIL_ASK_TO_CLOSE="$(echo "$DIALOG_RESULTS" |cut -f 1)" &&BUTTON_RETURNED="$(echo "$DIALOG_RESULTS" |cut -f 2)"

Ejecutando ese código se crearán 3 nuevas variables

  1. $DIALOG_RESULTS
  2. $MINUTES_UNTIL_ASK_TO_CLOSE
  3. $BUTTON_RETURNED

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