Dado que AppleScriptObjC es parte de macOS, es posible utilizar su marco "Foundation" (incl. los métodos de NSMenu) para lograr lo que probablemente no era posible en 2012.
Encontré un script interesante para crear menús personalizados desde AppleScript; a partir de esto extraje código adecuado para colocar texto en la barra de menú de macOS. De hecho, solo utiliza el "título" de un menú para insertar cierto contenido.
Para demostrar esto, implementé un script de diálogo muy básico que pide a los usuarios que ingresen texto (esperando 6 seg.) que luego se muestra temporalmente en la barra de menú (5 seg.).
¡Aquí está!
use framework "Foundation"
use framework "AppKit"
use scripting additions
property StatusItem : missing value
property newMenu : class "NSMenu"
display dialog "Escribe algo:" default answer "" giving up after 6
set myText to text returned of the result
if myText is "" then set myText to "¡Demasiado lento... intenta de nuevo!"
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:"Personalizado"
StatusItem's setMenu:newMenu
delay 5
current application's NSStatusBar's systemStatusBar()'s ¬
removeStatusItem:StatusItem
Este código de AppleScript puede ser utilizado en cualquiera de tus scripts. (Su parte de "diálogo" es opcional...)
user3439894 ayudó con el cierre de mi "menú", ver la última línea del script. ¡Muchas gracias!
0 votos
Ya que AppleScriptObjC es parte de macOS (2014) es posible utilizar su framework "Foundation" (incluyendo los métodos de NSMenu) para lograr lo que probablemente no era posible en 2012. . . . . Vea mi respuesta a continuación sobre ¡Cómo hacerlo!