Come è possibile attivare la barra dei menu di Script con AppleScript?

1

In AppleScript se vuoi mostrare Script Menu nella barra dei menu devi:

  1. Fai clic su Applicazioni
  2. Scorri verso il basso e fai clic su Utility
  3. Fai clic su Script Editor (questo era chiamato AppleScript Editor in OS X meno recente le versioni)
  4. Fai clic sulla voce di menu "Script Editor", quindi fai clic su "Preferenze ..."
  5. Nella finestra di dialogo Preferenze fai clic su "Mostra menu Script nella barra dei menu"
  6. Se non è selezionato, ti consigliamo di abilitare "Mostra script di computer" l'opzione

ma c'è un file nel sistema che posso targetizzare per attivarlo in uno script? Sto cercando di creare un programma di installazione che lo accenda quando non è attivo ma sto riscontrando dei problemi nel tentativo di trovare dove nel sistema posso farlo. Non preoccuparti di un do shell ma preferisci non per utilizzare Automator.

    
posta ʀ2ᴅ2 10.07.2018 - 19:05
fonte

2 risposte

2

Se non vuoi passare attraverso Script Editor > Preferenze > Generale per controllare la casella di controllo
[] Mostra menu Script nella barra dei menu , quindi ecco un modo per abilitare il Menu Script utilizzando 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

Potresti semplicemente usare:

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

Tuttavia, poiché Eventi di sistema ha una proprietà% em_de% , è opportuno verificare prima se è abilitato o meno. Ad ogni modo, aprendo il file di destinazione carica il menu Script e controlla la [√] Mostra menu Script nella barra dei menu in: < strong> Script Editor > Preferenze > Generale

Inoltre, da Terminale , puoi semplicemente eseguire:

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

L'apertura del file di destinazione in qualsiasi modo mostrato porta a termine l'obiettivo.

A proposito, quando il Menu Script è abilitato il file plist di destinazione è:

com.apple.systemuiserver.plist

Il tasto è un booleano ed è script menu enabled , e avrà anche un elemento nella matrice NSStatusItem Visible com.apple.scriptmenu Array come menuExtras contenente il nome percorso dell'oggetto.

Tieni presente che le informazioni precedenti sono state raccolte in macOS 10.13.5 .

    
risposta data 13.07.2018 - 14:00
fonte
0

Questa preferenza è controllata dal plist nel seguente percorso: ~/Library/Preferences/com.apple.scriptmenu.plist .

Che contiene quanto segue (Quando disattivato):

<?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>

Il false è cambiato in true quando è attivato.

Modifica questa preferenza con un comando defaults in bash .

defaults write com.apple.scriptmenu.plist ScriptMenuEnabled true

o

defaults write com.apple.scriptmenu.plist ScriptMenuEnabled false

Quindi in AppleScript:

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

o

do shell script "defaults write com.apple.scriptmenu.plist ScriptMenuEnabled false"
    
risposta data 10.07.2018 - 19:43
fonte

Leggi altre domande sui tag