Оскільки 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 допоміг закрити моє "меню", дивіться останній рядок сценарію. Дуже дякую!