Crear un nuevo espacio usando un atajo de teclado

10

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?

    
pregunta Jonathan De Wet 12.04.2016 - 07:47

3 respuestas

1

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)

    
respondido por el user3439894 12.04.2016 - 14:48
1

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
    
respondido por el Andrusoid 20.04.2017 - 23:02
1

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.

    
respondido por el Andrusoid 21.04.2017 - 22:10

Lea otras preguntas en las etiquetas