Añada la siguiente línea a su ~/.zshrc
archivo. (O, su ~/.bashrc
si está usando bash). Si el archivo no existe, entonces cree el archivo.
openwin() { osascript -e "tell application \"$1\" to activate" -e 'tell application "System Events" to keystroke "n" using command down'; }
La próxima vez que abra una ventana de Terminal, podrá utilizar la función anterior para enviar la combinación de teclas + N a la aplicación especificada. Por ejemplo, para abrir una nueva ventana en Firefox, introduzca lo siguiente.
openwin firefox
En el caso de Microsoft Edge, introduzca una de las siguientes opciones.
openwin "microsoft edge"
openwin microsoft\ edge
La combinación de teclas + N es el predeterminado en la mayoría de las aplicaciones para abrir una nueva ventana.
Cuando se utiliza la función anterior por primera vez, es posible que tenga que hacer lo siguiente.
- Autoriza a la aplicación Terminal a enviar eventos de Apple a Eventos del Sistema. Esto se puede encontrar en Automatización en la pestaña Privacidad del panel Seguridad y Privacidad de la aplicación Preferencias del Sistema.
- Permitir
osascript
para enviar pulsaciones. Esto se autoriza añadiendo el Terminal
a Accesibilidad en la pestaña Privacidad del panel Seguridad y Privacidad de la aplicación Preferencias del Sistema.
Una alternativa al uso de una función sería instalar un script. Esto tendría la ventaja de ser personalizable. A continuación se muestra un ejemplo de script que se llama 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
A continuación se muestran los comandos para instalar el script. Aquí asumo /usr/local/bin
ya está en su 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
El valor por defecto para el ejemplo script es activar la aplicación, luego enviar el + N combinación de teclas sólo si la aplicación ya se está ejecutando.
El ejemplo script tiene las siguientes personalizaciones.
- Para la aplicación Mail, el + alt + N se envía la combinación de teclas en lugar de la predeterminada + N .
- Para la aplicación Microsoft Word, el + N La combinación de teclas se envía independientemente de que la aplicación se esté ejecutando.
Referencias