Ajoutez la ligne suivante à votre ~/.zshrc
fichier. (Ou, votre ~/.bashrc
si vous utilisez bash). Si le fichier n'existe pas, alors créez le fichier.
openwin() { osascript -e "tell application \"$1\" to activate" -e 'tell application "System Events" to keystroke "n" using command down'; }
La prochaine fois que vous ouvrirez une fenêtre de Terminal, vous pourrez utiliser la fonction ci-dessus pour envoyer la combinaison de touches ⌘ + N à l'application spécifiée. Par exemple, pour ouvrir une nouvelle fenêtre dans Firefox, entrez ce qui suit.
openwin firefox
Pour Microsoft Edge, saisissez l'un des éléments suivants.
openwin "microsoft edge"
openwin microsoft\ edge
La combinaison de touches ⌘ + N est la solution par défaut dans la plupart des applications pour ouvrir une nouvelle fenêtre.
Lors de la première utilisation de la fonction ci-dessus, vous devrez peut-être effectuer les opérations suivantes.
- Autorisez l'application Terminal à envoyer des événements Apple à System Events. Cette autorisation se trouve sous Automatisation, dans l'onglet Confidentialité du volet Sécurité et confidentialité de l'application Préférences système.
- Autoriser
osascript
pour envoyer des frappes au clavier. Ceci est autorisé en ajoutant le Terminal
dans l'onglet Confidentialité du volet Sécurité et confidentialité de l'application Préférences système.
Une alternative à l'utilisation d'une fonction serait d'installer un script. Cela aurait l'avantage d'être personnalisable. Ci-dessous un exemple de script qui est nommé openwin
.
#!/bin/zsh
pgrep -i -x -q -U $UID "$1"
result=$? # If application is running then result will equal 0.
script=()
case ${1:l} in
mail)
script+=(-e "tell application \"$1\" to activate")
if [[ result -eq 0 ]]; then
script+=(-e 'tell application "System Events" to keystroke "n" using {command down, option down}')
fi;;
"microsoft word")
script+=(-e "tell application \"$1\" to activate")
script+=(-e 'tell application "System Events" to keystroke "n" using command down');;
*)
script+=(-e "tell application \"$1\" to activate")
if [[ result -eq 0 ]]; then
script+=(-e 'tell application "System Events" to keystroke "n" using command down')
fi
esac
if [[ $#script -ne 0 ]]; then
#printf "%s '%s'\n" $script # <-- Just for debugging.
osascript $script
fi
Voici les commandes pour installer le script. Ici, je suppose que /usr/local/bin
est déjà dans votre PATH
variable.
sudo mkdir -p /usr/local/bin
sudo cp openwin /usr/local/bin
sudo chown root:wheel /usr/local/bin/openwin
sudo chmod a+x /usr/local/bin/openwin
La valeur par défaut de l'exemple script est d'activer l'application, puis d'envoyer la commande ⌘ + N uniquement si l'application est déjà en cours d'exécution.
L'exemple script comporte les personnalisations suivantes.
- Pour l'application Mail, le ⌘ + alt + N est envoyée au lieu de la combinaison de touches par défaut ⌘ + N .
- Pour l'application Microsoft Word, le ⌘ + N est envoyée, que l'application soit en cours d'exécution ou non.
Références
0 votes
Voulez-vous un autre raccourci pour chacun l'application ? Vous devriez être en mesure de créer un service en utilisant simplement l'AppleScript dans la réponse ci-dessous, puis en créant un raccourci clavier pour cela, sans applications tierces ou sans configurer de nouvelles commandes Terminal.
0 votes
Nous avons probablement des définitions très différentes de "fastidieux" et de "temps précieux". Ouvrir ou naviguer vers Terminal, saisir plus de 10 caractères est fastidieux dans mon vocabulaire. Surtout quand on peut utiliser Spotlight pour ouvrir n'importe quelle application en entrant quelques caractères au début de son nom et si l'application est déjà ouverte, il suffit d'ajouter cmd + n après l'activation de la fenêtre de l'application.