Vì AppleScriptObjC là một phần của macOS, nên có thể sử dụng khung "Foundation" (bao gồm các phương thức của NSMothy) để đạt được những gì có thể không thể thực hiện được vào năm 2012.
Tôi đã tìm thấy một tập lệnh thú vị để tạo các menu tùy chỉnh từ bên trong AppleScript; từ đây tôi trích xuất mã phù hợp để đặt văn bản vào thanh menu của macOS . Trong thực tế, nó chỉ sử dụng "tiêu đề" của menu để chèn một số nội dung.
Để chứng minh điều này, tôi đã triển khai một tập lệnh hộp thoại rất cơ bản yêu cầu người dùng nhập văn bản (chờ 6 giây), sau đó sẽ được hiển thị trong thanh menu tạm thời (5 giây).
Đây là:
use framework "Foundation"
use framework "AppKit"
use scripting additions
property StatusItem : missing value
property newMenu : class "NSMenu"
display dialog "Write something:" default answer "" giving up after 6
set myText to text returned of the result
if myText is "" then set myText to "TOOOOO slow … try again !"
set myText to ">> " & myText & " <<"
set bar to current application's NSStatusBar's systemStatusBar
set StatusItem to bar's statusItemWithLength:-1.0
StatusItem's setTitle:myText
set newMenu to current application's NSMenu's alloc()'s initWithTitle:"Custom"
StatusItem's setMenu:newMenu
delay 5
current application's NSStatusBar's systemStatusBar()'s ¬
removeStatusItem:StatusItem
Mã AppleScript này có thể được sử dụng trong bất kỳ tập lệnh nào của bạn. (Phần "hộp thoại" của nó là tùy chọn)
user3439894 đã giúp đóng "menu" của tôi, xem dòng cuối cùng của tập lệnh. Cảm ơn rất nhiều!