Vous avez demandé, "Est-il possible de créer un raccourci pour basculer la visibilité de la barre de menu (qui persisterait, comme celle du dock) ?" et la réponse courte est, oui.
Cependant, la réponse plus détaillée est que, bien qu'il soit techniquement et nativement possible de créer un flux de travail de Service Automator auquel un raccourci clavier est attribué pour masquer/afficher la barre de menu dans OS X 10.11 et plus récent, y compris le macOS actuel, cela n'est pas sans ses problèmes.
- Vous devriez attribuer au Service Automator un raccourci clavier qui n'interfère pas avec un raccourci existant dans chaque application qui pourrait être au premier plan lorsque vous déclenchez le raccourci clavier du service.
- Chaque application qui est au premier plan lorsque le raccourci clavier du service est déclenché devrait être ajoutée à Préférences Système > Sécurité & Confidentialité > Confidentialité > Accessibilité, afin que le raccourci clavier du service fonctionne.
Une solution possible au deuxième point ci-dessus serait s'il y a une application tierce qui peut être configurée globalement pour déclencher le flux de travail du Service Automator (ou le code AppleScript en tant que script ou application AppleScript ne utilisant pas un Service Automator). Cela pourrait inclure des applications comme Alfred, FastScripts, Karabiner, Karabiner-Elements, Keyboard Maestro, etc., et n'ayant pas testé ces applications tierces dans ce scénario particulier, je ne peux que vous inviter à les explorer.
Alors, que diriez-vous d'une application AppleScript que vous pourriez placer dans le Dock, afin qu'elle soit facilement accessible à cliquer, qui permettrait de basculer l'état de la barre de menu ? Vous n'auriez qu'à ajouter cette application AppleScript à Préférences Système > Sécurité & Confidentialité > Confidentialité > Accessibilité, pour qu'elle fonctionne.
A défaut d'une application tierce ou d'un Service Automator et tout simplement en tant qu'application AppleScript, vous avez un raccourci clavier intégré via Spotlight, en appuyant sur espace et les premiers caractères du nom que vous avez donné à l'application AppleScript, puis appuyez sur entrer. Par exemple, nommez-le tmb.app pour basculer la barre de menu, alors vous appuyez sur espacetmentrer pour déclencher l'application AppleScript. Après tout, je doute que vous ayez déjà une application nommée tm installée.
Cependant, cela aussi n'est pas sans problèmes potentiels en ce sens qu'il repose sur le Scriptage d'Interface Utilisateur (UI Scripting), ce qui signifie qu'il doit ouvrir Préférences Système pour accéder aux paramètres généraux et cocher la case "Masquer et afficher automatiquement la barre de menu" et fermer Préférences Système. Cela signifie qu'une fois que vous avez déclenché l'application, vous devez la laisser s'exécuter et ne pas voler manuellement le focus depuis Préférences Système pendant que les événements de Scriptage d'Interface Utilisateur ont lieu. En d'autres termes, vous devez arrêter le multitâche pendant quelques secondes.
En partie, l'un des problèmes en utilisant AppleScript et/ou le Scriptage d'Interface Utilisateur pour masquer/afficher la barre de menu est qu'il n'est pas aussi élégant que de masquer le Dock avec son raccourci clavier intégré, mais c'est tout de même faisable.
Tout cela étant dit, voici le code AppleScript, qui peut être utilisé dans un script/application AppleScript, un Service Automator, ou éventuellement une application tierce, qui permettra de basculer l'état de la barre de menu dans OS X 10.11 et plus récent via le Scriptage d'Interface Utilisateur.
tell application "Préférences Système"
reveal pane id "com.apple.preference.general"
delay 1
tell application "Événements Système"
click checkbox "Masquer et afficher automatiquement la barre de menu" of window "Général" of process "Préférences Système"
end tell
quit
end tell
Remarquez qu'il n'y a pas de vérification d'erreur pour s'assurer que ce code fonctionne sous OS X 10.11 et plus récent, donc ne tentez pas de l'utiliser dans des versions d'OS X antérieures à 10.11. Notez également que la valeur de la commande delay
peut nécessiter d'être ajustée selon les conditions de fonctionnement de votre système.