Soy consciente de que puedes hacerlo desde Mission Control haciendo clic y no hay un acceso directo disponible en 'Teclado'.
¿Hay alguna manera de hacer esto usando un programa de terceros o Applescript?
Soy consciente de que puedes hacerlo desde Mission Control haciendo clic y no hay un acceso directo disponible en 'Teclado'.
¿Hay alguna manera de hacer esto usando un programa de terceros o Applescript?
Respuestas:
Actualización: este método funciona en OS X 10.11 y anterior al menos a OS X 10.8 (no lo probé en nada 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 realizado por Apple .
Para agregar mediante programación un Escritorio en Mission Control, el siguiente código se puede usar como AppleScript o BASH Script junto con un Servicio Automator usando Run AppleScript o Run Shell Script, respectivamente, y una secuencia de teclas asignada al Servicio en Preferencias del Sistema en el Teclado Atajos
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'
Abra Automator y seleccione Servicio .
Conjunto: el servicio no recibe ninguna entrada en ninguna aplicación
Agregue una acción Ejecutar AppleScript o Ejecutar script de shell .
Agregue el código apropiado para la Acción de destino .
Guarde el servicio como, por ejemplo: Agregar nuevo escritorio
Asigne un método abreviado de teclado para el Servicio en Preferencias del Sistema .
Nota: Tendrá que asignar una secuencia de teclas que no se use en ningún otro lugar del Sistema o en el Finder si elige cualquier aplicación del Servicio .
Lo probé con: ⌃⌥⌘D (Control-Opción-Comando-D)
OK, usando la grabación de Automator, hice que funcionara con una versión revisada del AppleScript en la otra respuesta.
Reemplace "del grupo 1" con "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 arrojando un error si la aplicación activa (Finder, textedit, etc.) no se ha agregado al panel de Accesibilidad de seguridad y privacidad.
Para solucionar esto, necesitamos dos flujos de trabajo, el servicio user3439894 con la lista de grupos actualizada como una aplicación Automator, y un segundo servicio Automator para iniciarlo.
La aplicación Automator (guardada en / Aplicaciones como "Nuevo escritorio").
en ejecución {entrada, parámetros}
hacer script de shell "abrir -a 'Control de misión'"
retraso 0.5
dígale a la aplicación "Eventos del sistema" que haga clic (cada botón cuyo valor del atributo "AXDescription" es "agregar escritorio") del grupo 2 del grupo 1 del grupo 1 del proceso "Dock"
retraso 0.5
diga a la aplicación "Eventos del sistema" al código clave 53
entrada de retorno
fin de carrera
Luego solo necesitamos crear el segundo flujo de trabajo como un servicio, utilizando la acción "Iniciar aplicación" y guardarlo como "New_Desktop"
Los últimos pasos son agregar "Nueva aplicación de escritorio" a Preferencias del sistema> Seguridad y privacidad> Accesibilidad
A continuación, agregue el método abreviado de teclado en Preferencias del sistema> Teclado> Métodos abreviados> Servicios> General para el flujo de trabajo New_Desktop.