Поскольку AppleScriptObjC является частью macOS, можно использовать его основу (включая методы NSMenu) для достижения того, что, вероятно, было невозможно в 2012 году.
Я нашел интересный скрипт для создания пользовательских меню из AppleScript; Из этого я извлек подходящий код для размещения текста в строке меню macOS . Фактически он использует только «заголовок» меню для вставки некоторого контента.
Чтобы продемонстрировать это, я реализовал очень простой диалоговый скрипт, который запрашивает у пользователя ввод текста (ожидание 6 секунд), который затем временно отображается в строке меню (5 секунд).
Вот:
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
Этот код AppleScript можно использовать в любом вашем скрипте. (Его «диалоговая» часть необязательна…)
user3439894 помог с закрытием моего "меню", см. последнюю строку скрипта. Большое спасибо!