¿Cómo hago un AppleScript que muestra un menú desplegable sin usar Xcode?
¿Cómo hago un AppleScript que muestra un menú desplegable sin usar Xcode?
No hay un concepto incorporado de menú en los diálogos-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 "solución" horrenda a un problema que necesita un menú de cacao, ya sea que lo haga con Xcode o con alguien más, Xcode / IB es la herramienta que crea un menú . MacRuby es una buena forma de escribir una aplicación que necesita una interfaz de usuario más completa que AppleScript. No necesita Xcode / IB para modificar una aplicación desde un script puro.
Puede crear un NIB utilizando Interface Builder y escribirlo todo con AppleScript, pero el nib 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 utilizar 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énpuedesusarchoosefromlist
:
choosefromlist{"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed
**LaURLoriginalparaesterepositoriodeGithubpormstratman
hacambiado.Apartirdelainvestigación,parecequeCocoaDialoghapasadoaserunaorganización.Aquíestánlosnuevoscambios:
Además, si solo necesitas una lista para elegir, también puedes hacerlo
choose from list listYouDefined with prompt "Choose from the list."
Google "AppleScript Choose from list".
Entiendo que esta es una pregunta antigua, pero como la respuesta mejor votada dice en la documentación de CocoaDialog 2:
Las descargas no funcionan Las descargas para cocoadialog 2 ya no están disponible. Esto es principalmente en parte debido a los diversos cambios y falta de almacenamiento permanente a lo largo de los años.
y el 3 no vendrá hasta la primavera / verano 18 Estaba buscando otras alternativas y encontré Pashua :
Bajolapopup
:
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
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 básica para una GUI y esto no se mencionó.
No necesitas Xcode para AppleScript. Simplemente abra el Editor AppleScript en Aplicaciones / Utilidades (acceso directo del buscador para la carpeta Utilidades: ⌘ Comando + Shift + U ). Hay un código de ejemplo para los menús desplegables en MacScripter: menú desplegable .
Lea otras preguntas en las etiquetas applescript