Wie erstelle ich ein AppleScript mit einem Dropdown-Menü ohne Xcode?

8

Wie erstelle ich ein AppleScript, das ein Dropdown-Menü anzeigt, ohne Xcode zu verwenden?

daviesgeek
quelle

Antworten:

1

In den Dialog-Warnungen in der AppleScript-Sprache ist kein Menükonzept integriert.

Am besten können Sie einige Dummy-Dateien (in einem temporären Ordner) mit der entsprechenden Aktion benennen und den Benutzer die Datei auswählen lassen, die mit der Aktion gekennzeichnet ist, die Sie ausführen möchten.

open folder blah
  with selected file bah
    do whatever

Eine schreckliche "Lösung" für ein Problem, das ein Kakao-Menü benötigt - ob Sie es in Xcode machen oder jemand anderes - Xcode / IB ist das Werkzeug, das ein Menü erstellt . MacRuby ist eine gute Möglichkeit, eine App zu skripten, die eine voll funktionsfähigere Benutzeroberfläche als AppleScript benötigt. Sie benötigen Xcode / IB nicht, um eine App aus reinem Skript zu erstellen.

Sie können eine NIB mit Interface Builder erstellen und alles mit AppleScript skripten, aber die Schreibfeder definiert das Menü selbst - nicht AppleScript (auch wenn AppleScript die Menüelemente zur Laufzeit füllen oder löschen kann).

bmike
quelle
11

Eine Option wäre die Verwendung von 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

Sie könnten auch einfach verwenden choose from list:

choose from list {"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed


** Die ursprüngliche URL für dieses Github-Repo von mstratmanwurde geändert. Aus der Forschung geht hervor, dass CocoaDialog zu einer Organisation übergegangen ist. Hier sind die neuen Änderungen:

Lri
quelle
1

Wenn Sie nur eine Liste zur Auswahl benötigen, können Sie dies auch tun

choose from list listYouDefined with prompt "Choose from the list."

Google "AppleScript Aus Liste auswählen".

Joeyslaptop
quelle
1

Ich verstehe, dass dies eine alte Frage ist, aber da die beste Antwort in der Dokumentation zu CocoaDialog 2 lautet:

Downloads funktionieren nicht Downloads für cocoadialog 2 sind nicht mehr verfügbar. Dies ist hauptsächlich auf die verschiedenen Änderungen und den Mangel an permanenter Lagerung im Laufe der Jahre zurückzuführen.

und 3 kommt erst im Frühjahr / Sommer 18 Ich habe nach anderen Alternativen gesucht und Pashua gefunden :

Geben Sie hier die Bildbeschreibung ein (Bild von der Website aufgenommen)

In der Dokumentation wird dies als 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

Bildschirmfoto:

Geben Sie hier die Bildbeschreibung ein

Github Repo

Nachdem Sie es verwendet haben, haben Sie festgestellt, dass Sie die Pashua.app in Ihrem Anwendungsverzeichnis installieren oder Pashua in Ihre App einbetten können. Ich bin nicht der Autor davon, aber ich brauchte eine Basislösung für eine GUI und dies wurde nicht erwähnt.

ʀ2ᴅ2
quelle
0

Sie benötigen keinen Xcode für AppleScript. Öffnen Sie einfach den AppleScript-Editor unter Anwendungen / Dienstprogramme (Finder-Verknüpfung für den Ordner Dienstprogramme: ⌘ Command+ Shift+ U). Es gibt einige Beispielcodes für Dropdown-Menüs im MacScripter: Dropdown-Menü .

Patrick
quelle
Ich habe mir diesen Link bereits angesehen. Das Skript erfordert eine NIB / Xcode-Schnittstelle.
Daviesgeek
Es ist ein großartiges Beispiel dafür, wie AppleScript die
Menüelemente
Ja, aber nicht genau das, wonach ich suche.
Daviesgeek