¿Se puede crear un acceso directo para alternar la visibilidad de la barra de menú (que persistiría, como lo hace la base)?

2

En Syst Prefs, puedo elegir que la barra de menú aparezca siempre o se oculte con la función de presentación automática (la presentación automática se muestra al pasar el cursor o la función de acceso directo de enfoque por teclado).

Pero cuando estoy trabajando, quiero que la barra de menú esté siempre visible. Y cuando estoy recreando, normalmente lo quiero escondido.

Me gusta que con el dock puedo presionar commandoption d para mostrar u ocultar el dock, y permanece visible u oculto hasta Presiono el mismo atajo otra vez.

Ojalá la barra de menú funcionara de esta manera también. ¿Se puede crear tal atajo de alguna manera?

    
pregunta jtheletter 15.05.2017 - 04:49

2 respuestas

1

Haciendo algunos ajustes menores al código original de la respuesta del usuario 3439894. Ejecutar este código revisado no traerá la aplicación de preferencias del sistema al frente.

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"

En algunos comentarios a mi respuesta, se ha señalado donde tengo el comando de retardo en mi script, hace que el script falle. En mi sistema este script funciona.

Sinembargo,estasecuenciadecomandosenmisistemanofuncionarásicolocoelcomandodedemoraantesdeleventodelsistema.

    
respondido por el wch1zpink 15.05.2017 - 21:57
1

Preguntó: " ¿Se puede crear un acceso directo para alternar la visibilidad de la barra de menú (que persistiría, como lo hace el muelle)? " y la respuesta corta es, .

Sin embargo, la respuesta más larga es que si bien es técnicamente y de forma nativa crear un flujo de trabajo del Servicio de Automatización al que se le asigna un método abreviado de teclado para ocultar / mostrar la barra de menús en OS X 10.11 y posteriores, incluida la macOS actual, no está exenta de sus problemas.

  • Tendría que asignar al Servicio de Automatización un método abreviado de teclado que no interfiera con un método abreviado existente en cada aplicación que pueda tener un enfoque cuando activó el método abreviado de teclado del servicio.
  • Todas las aplicaciones que se enfocan cuando se activa el método abreviado de teclado del servicio deberían agregarse a Preferencias del sistema > Seguridad y amp; Privacidad > Privacidad > Accesibilidad, para que el atajo de teclado del servicio funcione.

Una posible solución al segundo punto anterior sería si hubiera una aplicación de terceros que se pueda configurar globalmente para activar el flujo de trabajo del Servicio de Automatización (o el código de AppleScript como un script de AppleScript o una aplicación que no utilice un Servicio de Automatización). Esto podría incluir aplicaciones como Alfred, FastScripts, Karabiner, Karabiner-Elements, Keyboard Maestro, etc., y no haber probado estas aplicaciones de terceros en este escenario en particular, solo puedo ofrecer eso como algo para analizar.

Entonces, ¿qué tal una aplicación AppleScript que pueda colocar en el Dock, para que esté disponible para hacer clic en ella, que cambie el estado de la barra de menús? Solo tendría que agregar esa aplicación AppleScript a Preferencias del sistema > Seguridad y amp; Privacidad > Privacidad > Accesibilidad, para que funcione.

En lugar de una aplicación de terceros o como un Servicio de Automatización y solo como una aplicación AppleScript simple, tiene un método abreviado de teclado incorporado por medio de Spotlight, en el que presiona < kbd> espacio y el primer carácter o dos del nombre que le dio a la aplicación AppleScript y luego presione ingresar . Como ejemplo, llámelo tmb.app para alternar la barra de menú, presionaría espacio t m ingrese para activar la aplicación AppleScript. Después de todo, el doble ya tiene una aplicación llamada tm instalada.

Sin embargo, dicho esto, tampoco está exento de posibles problemas, ya que se basa en UI Scripting, lo que significa que tiene que abrir las Preferencias del sistema a la configuración General y hacer clic en la casilla "Ocultar y mostrar automáticamente la barra de menús" y cerrar Preferencias del Sistema. Esto significa que una vez que activó la aplicación, debe dejar que se ejecute y no robar manualmente el enfoque de las Preferencias del Sistema mientras se llevan a cabo los eventos de UI Scripting. En otras palabras, debes detener la multitarea durante un par de segundos.

En parte, uno de los problemas que usa AppleScript y UI Scripting para ocultar / mostrar la barra de menús es que no es tan elegante como ocultar el Dock con su método abreviado de teclado incorporado, pero al menos es factible.

Dicho todo esto, aquí está el código de AppleScript, que puede usarse en una aplicación / script de AppleScript, en el servicio de Automator o en una aplicación de terceros, que cambiará el estado de la barra de menús en OS X 10.11 y versiones posteriores a través de UI Scripting.

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

Tenga en cuenta que no hay comprobación de errores para garantizar que este código se ejecute en OS X 10.11 y versiones posteriores, por lo que no intente usarlo en versiones de OS X anteriores a 10.11. También tenga en cuenta que es posible que el valor del comando delay deba ajustarse según sea necesario en las condiciones de trabajo de su sistema.

    
respondido por el user3439894 15.05.2017 - 20:34

Lea otras preguntas en las etiquetas