Può essere creata una scorciatoia per attivare la visibilità della barra dei menu (che persisterebbe, come fa il dock)?

2

Posso scegliere in Syst Prefs di mostrare o nascondere sempre la barra dei menu con auto-show (auto-show che è show su hover o show on focus-by-keyboard-shortcut).

Ma quando lavoro, voglio sempre la barra dei menu visibile. E quando sto ricreando, lo voglio solitamente nascosto.

Mi piace che con il dock posso premere comando opzione d per mostrare o nascondere il dock e rimane visualizzato o nascosto fino a Premo di nuovo la stessa scorciatoia.

Vorrei che anche la barra dei menu funzionasse in questo modo. È possibile creare una scorciatoia in qualche modo?

    
posta jtheletter 15.05.2017 - 04:49
fonte

2 risposte

1

Apportare alcune modifiche minori al codice originale dalla risposta dell'utente3439894. L'esecuzione di questo codice rivisto non porterà l'app delle preferenze di sistema in primo piano.

tell application "System Preferences"
    reveal pane id "com.apple.preference.general"
end tell
tell application "System Events" to tell process "System Preferences" to tell window "General"
    click checkbox "Automatically hide and show the menu bar" 
end tell
delay 1
quit application "System Preferences"

In alcuni commenti alla mia risposta, è stato indicato dove ho il comando delay nel mio script, fa fallire lo script. Sul mio sistema funziona questo script.

Tuttaviaquestoscriptsulmiosistemanonfunzioneràseinseriscoilcomandodelayprimadell'eventodisistema.

    
risposta data 15.05.2017 - 21:57
fonte
1

Hai chiesto " È possibile creare un collegamento per attivare la visibilità della barra dei menu (che persisterebbe, come fa il dock)? " e la risposta breve è si .

Tuttavia, la risposta più lunga è, mentre è tecnicamente e nativamente possibile creare un flusso di lavoro del servizio Automator a cui viene assegnata una scorciatoia da tastiera per nascondere / mostrare la barra dei menu in OS X 10.11 e successive, incluso il macOS corrente, non è senza i suoi problemi.

  • Dovresti assegnare al servizio Automator una scorciatoia da tastiera che non interferisca con una scorciatoia esistente in ogni app che potrebbe avere lo stato attivo quando hai attivato la scorciatoia da tastiera del servizio.
  • Ogni app focalizzata quando viene attivata la scorciatoia da tastiera del servizio dovrebbe essere aggiunta a Preferenze di Sistema > Sicurezza e amp; Privacy > Privacy > Accessibilità, affinché funzioni la scorciatoia da tastiera del servizio.

Una soluzione alternativa al secondo punto sopra sarebbe se c'è un'app di terze parti che può essere impostata globalmente per attivare il flusso di lavoro del servizio Automator (o il codice AppleScript come script o app AppleScript che non utilizza un servizio Automator). Questo potrebbe includere app come Alfred, FastScripts, Karabiner, Karabiner-Elements, Keyboard Maestro, ecc., E non aver testato queste app di terze parti in questo particolare scenario, posso solo offrirle come qualcosa da esaminare.

Quindi, che ne dici di un'app AppleScript che potresti inserire nel Dock, quindi è prontamente disponibile per fare clic su, che cambierà lo stato della barra dei menu? Dovresti solo aggiungere l'app AppleScript alle Preferenze di Sistema > Sicurezza e amp; Privacy > Privacy > Accessibilità, affinché funzioni.

In alternativa a un'app di terze parti o come servizio di automazione e semplicemente come app AppleScript, hai una scorciatoia da tastiera integrata da Spotlight, in cui premi < kbd> space e il primo carattere o due del nome che hai dato all'app AppleScript e quindi premi enter . Ad esempio, chiamalo tmb.app per attivare la barra dei menu, dovrai premere spazio t m inserisci per attivare l'app AppleScript. Dopotutto, ho il doppio che hai già installato un'applicazione chiamata tm .

Tuttavia, detto questo, anche questo non è senza problemi in quanto si basa su UI Scripting, cioè deve aprire le Preferenze di Sistema alle impostazioni Generali e fare clic sulla casella di controllo "Nascondi automaticamente e mostrare la barra dei menu" e chiudere Preferenze di Sistema. Ciò significa che una volta attivata l'app, devi lasciarla in esecuzione e non rubare manualmente lo stato attivo dalle Preferenze di Sistema mentre si verificano gli eventi Scripting UI. In altre parole, devi interrompere il multitasking per un paio di secondi.

In parte, uno dei problemi che utilizzano AppleScript e UI Scripting per nascondere / mostrare la barra dei menu è che non è così elegante come nascondere il Dock con la sua scorciatoia da tastiera integrata, ma è almeno fattibile.

Tutto ciò detto, ecco il codice AppleScript, che può essere utilizzato sia in uno script / app AppleScript, in Automator Service, o possibilmente in un'app di terze parti, che alterna lo stato della barra dei menu in OS X 10.11 e versioni successive tramite Script UI.

tell application "System Preferences"
    reveal pane id "com.apple.preference.general"
    delay 1
    tell application "System Events"
        click checkbox "Automatically hide and show the menu bar" of window "General" of process "System Preferences"
    end tell
    quit
end tell

Nota che non è stato verificato alcun errore per garantire che questo codice venga eseguito in OS X 10.11 e versioni successive, quindi non provare a utilizzarlo nelle versioni di OS X precedenti alla 10.11. Inoltre, potrebbe essere necessario modificare il valore del comando delay comando in base alle condizioni di lavoro del tuo sistema.

    
risposta data 15.05.2017 - 20:34
fonte

Leggi altre domande sui tag