Avant de lire plus loin: Je connais le majordome et les programmes similaires. Je recherche un moyen INTÉGRÉ de le faire sans application tierce.
Quoi qu'il en soit, j'ai écrit un AppleScript qui exécute une commande shell. Je veux afficher cette sortie dans la barre de menu en haut ... sans Butler, comment puis-je faire cela?
applescript
display
menu-bar
FALL3N
la source
la source
Réponses:
En règle générale, sans un programme tiers, comme Growl, il n'y a aucun moyen intégré de le faire.
Cependant, vous pouvez écrire un script ou un autre programme tel que celui que j'ai trouvé ici qui vous fournit le service de menulet. Je suis sûr que l'intégration de Growl serait beaucoup plus facile à réaliser.
la source
Il n'y a pas de méthode intégrée pour le faire dans OS X. Cependant, en utilisant Growl , vous pouvez avoir des notifications. Voici un exemple de script pour cela:
Cela devrait afficher ceci:
Et si vous avez également activé l'autre notification:
Des techniques plus avancées sont décrites ici.
la source
Étant donné qu'AppleScriptObjC fait partie de macOS, il est possible d'utiliser son framework "Foundation" (y compris les méthodes NSMenu) pour réaliser ce qui n'était probablement pas possible en 2012.
J'ai trouvé un script intéressant pour créer des menus personnalisés à partir d'AppleScript; à partir de cela, j'ai extrait le code approprié pour placer du texte dans la barre de menus de macOS . En fait, il utilise juste le "titre" d'un menu pour insérer du contenu.
Afin de le démontrer, j'ai implémenté un script de dialogue très basique qui demande aux utilisateurs de saisir du texte (6 secondes d'attente) qui est ensuite affiché temporairement dans la barre de menus (5 secondes).
C'est ici:
Ce code AppleScript peut être utilisé dans l'un de vos scripts. (Sa partie "dialogue" est optionnelle…)
user3439894 m'a aidé à fermer mon "menu", voir dernière ligne du script. Merci beaucoup!
la source
/programming/29168474/creating-a-simple-menubar-app-using-applescript
. . . . . J'ai cependant peur que ma dernière ligne (qui fonctionne la moitié du temps) que j'ai trouvée ailleurs - et adaptée - ne soit PAS correcte . . . . . . Je ne suis pas programmeur, j'ai donc besoin de plus de temps pour comprendre le code.StatusItem's dealloc()
ne s'applique qu'à l'application AppleScriptObjC et non à l'éditeur de script et le plante accidentellement.set myText to ...
ligne de code , ladisplay dialog
commande one before ne fait vraiment rien en fonction du code qui en résulte et n'est donc pas du tout nécessaire. En d' autres termes, la seule occasion valeur demyText
est celle qui est attribué après ladisplay dialog
commande est exécutée et pourquoi la mise à quoi que ce soit avant la ladisplay dialog
commande est utilisé de codage et non nécessaire dans le contexte du Code actuellement présenté.StatusItem's dealloc()
ouStatusItem's setTitle:""
j'utiliserais:current application's NSStatusBar's systemStatusBar()'s removeStatusItem:StatusItem