¿Cómo hago un AppleScript que muestre un menú desplegable sin usar Xcode?
fuente
¿Cómo hago un AppleScript que muestre un menú desplegable sin usar Xcode?
No existe un concepto integrado de menú en los cuadros de diálogo-alertas dentro del lenguaje AppleScript.
Lo más cercano que podría hacer sería nombrar algunos archivos ficticios (en una carpeta temporal) con la acción apropiada y hacer que el usuario elija el archivo etiquetado con la acción que desea realizar.
open folder blah
with selected file bah
do whatever
Una horrenda "solución" para un problema que necesita un menú de cacao, ya sea que lo haga en Xcode o que alguien más lo haga, Xcode / IB es la herramienta que crea un menú . MacRuby es una buena manera de escribir una aplicación que necesita una interfaz de usuario más completa que AppleScript. No necesita Xcode / IB para borrar una aplicación de un script puro.
Puede crear una NIB usando Interface Builder y escribir todo usando AppleScript, pero la punta define el menú en sí, no AppleScript (incluso si AppleScript puede llenar o eliminar los elementos del menú en tiempo de ejecución).
Una opción sería usar CocoaDialog **:
set l to {"aa", "bb", "cc"}
set choices to ""
repeat with x in l
set choices to choices & quoted form of x & " "
end repeat
set dialog to paragraphs of (do shell script "/Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog" & " standard-dropdown --title title --text text --items " & choices)
if item 1 of dialog is "2" then return -- pressed cancel button
item ((item 2 of dialog) + 1) of l
También puedes usar choose from list
:
choose from list {"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed
** La URL original para este repositorio de Github mstratman
ha cambiado. De la investigación parece que CocoaDialog ha pasado a una organización. Aquí están los nuevos cambios:
Además, si solo necesita una lista para elegir, también puede hacer
choose from list listYouDefined with prompt "Choose from the list."
Google "AppleScript Elija de la lista".
Entiendo que esta es una vieja pregunta, pero como la mejor respuesta votada dice en la documentación de CocoaDialog 2:
Las descargas no funcionan Las descargas de cocoadialog 2 ya no están disponibles. Esto se debe en parte a los diversos cambios y a la falta de almacenamiento permanente a lo largo de los años.
y 3 no llegará hasta la primavera / verano 18 Estaba buscando otras alternativas y encontré Pashua :
Bajo la documentación esto se llama popup
:
Example: Using popup
p.type = popup
p.label = Example popup menu
p.width = 310
p.option = Popup menu item #1
p.option = Popup menu item #2
p.option = Popup menu item #3
p.default = Popup menu item #2
Captura de pantalla:
Github repo
Después de usarlo, descubrí que puedes instalar Pashua.app en tu directorio de aplicaciones o puedes incrustar Pashua en tu aplicación. No soy el autor de esto, pero necesitaba una solución base para una GUI y esto no fue mencionado.
No necesita Xcode para AppleScript. Simplemente abra el Editor AppleScript en Aplicaciones / Utilidades (acceso directo del Finder para la carpeta Utilidades: ⌘ Command+ Shift+ U). Hay algunos códigos de muestra para menús desplegables en MacScripter: menú desplegable .