Estou ciente de que você pode fazer isso no Controle da Missão clicando e não há atalho disponível em 'Teclado'.
Existem maneiras de fazer isso usando um programa de terceiros ou o Applescript?
Estou ciente de que você pode fazer isso no Controle da Missão clicando e não há atalho disponível em 'Teclado'.
Existem maneiras de fazer isso usando um programa de terceiros ou o Applescript?
Respostas:
Atualização: Este método funciona no OS X 10.11 e versões anteriores, pelo menos para o OS X 10.8 (não o testou em nada mais antigo que o OS X 10.8), mas não funciona mais como codificado no macOS 10.12 devido a alterações significativas no Controle de Missão feitas pela Apple .
Para adicionar programaticamente uma área de trabalho no controle de missão, o código abaixo pode ser usado como um script AppleScript ou BASH em conjunto com um serviço Automator usando Run AppleScript ou Run Shell Script, respectivamente, e uma sequência de teclas atribuída ao serviço nas preferências do sistema no teclado Atalhos.
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 do 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 o Automator e selecione Serviço .
Conjunto: o serviço não recebe entrada em nenhum aplicativo
Adicione uma ação Executar AppleScript ou Executar ação de script do shell .
Adicione o código apropriado para a ação de destino .
Salve o serviço como, por exemplo: Adicionar nova área de trabalho
Atribua um atalho de teclado para o serviço em Preferências do sistema .
Nota: Você terá que atribuir uma sequência de teclas que não seja usada em nenhum outro local do Sistema ou no Finder se você escolher sobre qualquer aplicativo no Serviço .
Eu testei com: ⌃⌥⌘D (Control-Option-Command-D)
OK, usando a gravação do Automator, fiz funcionar com uma versão revisada do AppleScript na outra resposta.
Substitua "do grupo 1" por "do grupo 2 do grupo 1 do 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
Sim, isso funciona, mais ou menos. O problema é que a solução do user3439894 acaba gerando um erro se o aplicativo ativo (Finder, textedit etc.) não tiver sido adicionado ao painel Acessibilidade de Segurança e Privacidade.
Para contornar isso, precisamos de dois fluxos de trabalho, o serviço de user3439894 com a lista de grupos atualizada como um aplicativo Automator e um segundo serviço Automator para iniciá-lo.
O aplicativo Automator (salvo em / Applications como "New Desktop".)
na execução {input, parameters}
do shell script "open -a 'Mission Control'"
atraso 0,5
diga ao aplicativo "System Events" para clicar (cada botão cujo valor do atributo "AXDescription" é "add desktop") do grupo 2 do grupo 1 do grupo 1 do processo "Dock"
atraso 0,5
informe o aplicativo "System Events" ao código-chave 53
retornar entrada
corrida final
Depois, precisamos criar o segundo fluxo de trabalho como serviço, usando a ação "Iniciar aplicativo" e salvá-lo como "Novo_Desktop"
Os últimos passos são para adicionar “Novo Desktop.App” a Preferências do Sistema> Segurança e Privacidade> Acessibilidade
Em seguida, adicione o atalho do teclado em Preferências do sistema> Teclado> Atalhos> Serviços> Geral para o novo fluxo de trabalho do desktop.