Bagaimana cara membuat AppleScript dengan menu drop-down tanpa Xcode?

8

Bagaimana cara membuat AppleScript yang menampilkan menu drop-down tanpa menggunakan Xcode?

daviesgeek
sumber

Jawaban:

1

Tidak ada konsep built-in menu dalam dialog-peringatan dalam bahasa AppleScript.

Cara terdekat yang bisa Anda lakukan adalah memberi nama beberapa file dummy (dalam folder sementara) dengan tindakan yang sesuai dan minta pengguna memilih file yang dilabeli dengan tindakan yang ingin Anda lakukan.

open folder blah
  with selected file bah
    do whatever

Sebuah "solusi" mengerikan untuk masalah yang membutuhkan menu kakao - apakah Anda membuatnya di Xcode atau orang lain - Xcode / IB adalah alat yang membuat menu . MacRuby adalah cara yang bagus untuk membuat skrip aplikasi yang membutuhkan UI berfitur lebih lengkap daripada AppleScript. Anda tidak perlu Xcode / IB untuk menggosok aplikasi dari skrip murni.

Anda dapat membuat NIB menggunakan Interface Builder dan membuat skrip semuanya menggunakan AppleScript, tetapi nib menentukan menu itu sendiri - bukan AppleScript (bahkan jika AppleScript dapat mengisi atau menghapus item menu pada saat dijalankan).

bmike
sumber
11

Salah satu opsi adalah menggunakan 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

Anda juga bisa menggunakan choose from list:

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


** URL asli untuk repo Github ini mstratmantelah berubah. Dari penelitian tampaknya CocoaDialog telah beralih ke org. Inilah perubahan baru:

Lri
sumber
1

Selain itu, jika Anda hanya perlu daftar untuk dipilih, Anda juga bisa melakukannya

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

Google "AppleScript Choose from list".

joeyslaptop
sumber
1

Saya mengerti ini adalah pertanyaan lama tetapi karena jawaban terbaik yang dipilih mengatakan dalam dokumentasi untuk CocoaDialog 2:

Unduhan tidak berfungsi Unduhan untuk cocoadialog 2 tidak lagi tersedia. Ini sebagian besar sebagian karena berbagai perubahan dan kurangnya penyimpanan permanen selama bertahun-tahun.

dan 3 tidak akan datang sampai Musim Semi / Musim Panas 18 Saya mencari alternatif lain dan saya menemukan Pashua :

masukkan deskripsi gambar di sini (foto diambil dari situs)

Di bawah dokumentasi ini disebut 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

Tangkapan layar:

masukkan deskripsi gambar di sini

Github repo

Setelah menggunakannya saya menemukan Anda dapat menginstal Pashua.app di direktori Aplikasi Anda atau Anda dapat menanamkan Pashua di aplikasi Anda. Saya bukan penulis ini, tetapi saya membutuhkan solusi dasar untuk GUI dan ini tidak disebutkan.

ʀ2ᴅ2
sumber
0

Anda tidak perlu Xcode untuk AppleScript. Cukup buka AppleScript Editor di Applications / Utilities (Pintasan Finder untuk folder Utilities: ⌘ Command+ Shift+ U). Ada beberapa contoh kode untuk menu dropdown di MacScripter: Menu dropdown .

Patrick
sumber
Saya sudah melihat tautan itu. Script membutuhkan antarmuka NIB / Xcode.
daviesgeek
Ini adalah contoh yang bagus tentang bagaimana AppleScript dapat memodifikasi item menu pada saat run time :-)
bmike
Ya, tapi tidak persis apa yang saya cari.
daviesgeek