Soy consciente de que puedes hacerlo desde el Control de la Misión haciendo clic y no hay acceso directo disponible en 'Teclado'.
¿Hay alguna forma de hacerlo utilizando un programa de terceros o Applescript?
Actualización: este método funciona en OS X 10.11 y anteriormente al menos en OS X 10.8 (no lo probó en ninguna versión anterior a OS X 10.8) pero ya no funciona como está codificado en macOS 10.12 debido a cambios significativos en el Control de Misión hecho por Apple.
Para agregar mediante programación un Escritorio en el Control de Misión, el código a continuación se puede usar como un AppleScript o un BASH Script junto con un Servicio de Automatización utilizando Ejecutar AppleScript o Ejecutar el Script del Shell, respectivamente, y una clave secuencia asignada al servicio en Preferencias del sistema en los atajos de teclado.
Código AppleScript:
do shell script "open -a 'Mission Control'"
delay 0.5
tell application "System Events" to click (every button whose value of attribute "AXDescription" is "add desktop") of group 1 of process "Dock"
delay 0.5
tell application "System Events" to key code 53
Código de script BASH:
#!/bin/bash
open -a 'Mission Control'
osascript -e 'delay 0.5' \
-e 'tell application "System Events" to click (every button whose value of attribute "AXDescription" is "add desktop") of group 1 of process "Dock"' \
-e 'delay 0.5' \
-e 'tell application "System Events" to key code 53'
Abre Automator y selecciona Service.
Conjunto: el servicio no recibe ninguna entrada en ninguna aplicación
Agregue una Ejecutar AppleScript o Ejecutar el script de shell Action.
Agregue el código apropiado para el objetivo Action.
Guarde el Servicio como, por ejemplo, Agregar nuevo escritorio
Asigna un método abreviado de teclado para el Servicio en Sistema Preferencias .
Nota: Tendrá que asignar una secuencia de teclas que no se use en ninguna otra parte del Sistema o en el Finder si elige sobre cualquier aplicación en el Servicio .
Lo probé con: ⌃⌥⌘D (Control-Option-Command-D)
OK, usando la grabación de Automator, hice que funcionara con una versión revisada de AppleScript en la otra respuesta.
Reemplaza "del grupo 1" por "del grupo 2 del grupo 1 del grupo 1 de":
on run {input, parameters}
do shell script "open -a 'Mission Control'"
delay 0.5
tell application "System Events" to click (every button whose value of attribute "AXDescription" is "add desktop") of group 2 of group 1 of group 1 of process "Dock"
delay 0.5
tell application "System Events" to key code 53
return input
end run
Sí, eso funciona, más o menos. El problema es que la solución de user3439894 termina generando un error si la aplicación activa (Finder, textedit, etc.) no se ha agregado a Security & Panel de accesibilidad de privacidad.
Para solucionar esto, necesitamos dos flujos de trabajo, el servicio del usuario 3439894 con la lista de grupos actualizada como una aplicación de Automator y un segundo servicio de Automator para iniciarlo.
La aplicación Automator (guardada en / Aplicaciones como "Nuevo escritorio".)
en la ejecución {entrada, parámetros}
haga el script de shell "abrir -a 'Control de Misión'"
retraso 0.5
indique a la aplicación "Eventos del sistema" que haga clic (todos los botones cuyo valor del atributo "AXDescription" es "agregar escritorio") del grupo 2 del grupo 1 del grupo "Proceso de acoplamiento"
retraso 0.5
decirle a la aplicación "Eventos del sistema" el código clave 53
entrada de retorno
final de ejecución
Luego solo tenemos que crear el segundo flujo de trabajo como servicio, usando la acción "Iniciar aplicación" y guardarlo como "New_Desktop"
Los últimos pasos son para agregar "Nueva aplicación de escritorio" a las Preferencias del sistema > Seguridad y amp; Privacidad > Accesibilidad
Luego agrega el método abreviado de teclado en Preferencias del sistema > Teclado > Accesos directos > Servicios > General para el New_Desktop.workflow.
Lea otras preguntas en las etiquetas keyboard el-capitan applications mission-control applescript