1 votes

Comment activer la barre de menu script avec AppleScript ?

En AppleScript, si vous voulez afficher le Script Menu dans la barre de menu, vous devez le faire :

  1. Cliquez sur Applications
  2. Faites défiler la liste et cliquez sur Utilitaires
  3. Cliquez sur script Editor (appelé AppleScript Editor dans les anciennes versions d'OS X). versions)
  4. Cliquez sur l'élément de menu "script Editor", puis cliquez sur "Préférences..."
  5. Dans la boîte de dialogue Préférences, cliquez sur "Afficher le menu script dans la barre de menu".
  6. Si elle n'est pas sélectionnée, vous devez activer l'option "Show Computer scripts". option

mais y a-t-il un fichier dans le système que je peux cibler pour activer ceci dans un script ? J'essaie de créer un programme d'installation qui activera cette fonction si elle n'est pas active, mais j'ai du mal à trouver où dans le système je peux l'activer. Je ne suis pas contre un do shell mais préfèrent no pour utiliser Automator.

3voto

user3439894 Points 52496

10.13 (High Sierra) et avant

Si vous ne voulez pas avoir à passer par script Éditeur > Préférences > Général pour vérifier le
[ ] Afficher le menu script dans la barre de menu Voici une façon d'activer l'outil de gestion de l'information. script Menu en utilisant AppleScript :

tell application "System Events"
    if not (script menu enabled) then
        tell current application
            do shell script "open '/System/Library/CoreServices/Menu Extras/Script Menu.menu'"
        end tell
    end if
end tell

Vous pourriez simplement utiliser :

do shell script "open '/System/Library/CoreServices/Menu Extras/Script Menu.menu'"

Toutefois, étant donné que Événements du système a un script menu enabled propriété il est logique de vérifier d'abord s'il est activé ou non. Quoi qu'il en soit, l'ouverture de la fenêtre fichier cible charge le script Menu et vérifie le [Afficher le menu script dans la barre de menu dans la case à cocher : script Éditeur > Préférences > Général

De plus, de Terminal tu pourrais juste courir :

open '/System/Library/CoreServices/Menu Extras/Script Menu.menu'

Ouverture de la fichier cible de n'importe quelle manière montrée pour atteindre l'objectif.

Au fait, quand le script Menu est activé, le fichier plist cible est :

com.apple.systemuiserver.plist

Le site clé est un Booléen et est NSStatusItem Visible com.apple.scriptmenu et disposera également d'une élément dans le menuExtras Array en tant que String en tenant le chemin d'accès de l'article.

Notez que les informations ci-dessus ont été recueillies sous MacOS 10.13.5 .


10.14 (Mojave) et supérieur

Le menu script a été transformé en une application à part entière, au lieu d'un menu de type .menu fichier. Il est maintenant situé à /System/Library/CoreServices/Script Menu.app .

Pour l'activer sur 10.14+, la commande terminal/shell se transforme en :

open '/System/Library/CoreServices/Script Menu.app'

0voto

Pirooz Points 486

Cette préférence est contrôlée par la plist au chemin suivant : ~/Library/Preferences/com.apple.scriptmenu.plist .

Qui contient les éléments suivants (lorsqu'il est éteint) :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ScriptMenuEnabled</key>
    <false/>
</dict>
</plist>

Le site false est changé en true lorsqu'il est activé.

Vous modifiez cette préférence avec un defaults dans bash .

defaults write com.apple.scriptmenu.plist ScriptMenuEnabled true

o

defaults write com.apple.scriptmenu.plist ScriptMenuEnabled false

Donc, dans AppleScript :

do shell script "defaults write com.apple.scriptmenu.plist ScriptMenuEnabled true"

o

do shell script "defaults write com.apple.scriptmenu.plist ScriptMenuEnabled false"

0 votes

Je vois le fichier mais l'exécution dans le terminal et do shell ne fonctionne pas à la volée. Je cherche toujours une solution sans redémarrage.

1 votes

Sur MacOS 10.13.5 de toute façon, ScriptMenuEnabled n'est pas un clé dans le com.apple.scriptmenu.plist fichier. D'après ce que je vois, il n'y a que deux possibilités clés pour le com.apple.scriptmenu.plist fichier, PutAppScriptsFirst y ShowLibraryScripts .

0 votes

@user3439894 J'ai testé sur Mojave mais je pense que c'est la même chose pour toutes les versions.

0voto

wch1zpink Points 6067

Je ne suis pas tout à fait sûr des versions précédentes de MacOS mais avec MacOS Big Sur, l'application "AppleScript Utility" (qui se trouve ici "/System/Library/CoreServices/AppleScript Utility.app/") est scriptable.

Avec cela, il n'est pas nécessaire d'ouvrir scriptles préférences de Editor.app ou d'éditer des fichiers plist. Il n'est pas non plus nécessaire de redémarrer.

tell application "AppleScript Utility"
    set Script menu enabled to true -- true or false
    set application scripts position to top -- top or bottom
    set show Computer scripts to false -- true or false
end tell

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X