Crea un nuovo spazio usando una scorciatoia da tastiera

10

Sono consapevole che puoi farlo da Controllo missione facendo clic e non c'è una scorciatoia disponibile in "Tastiera".

Ci sono dei modi per farlo usando un programma di terze parti o Applescript?

    
posta Jonathan De Wet 12.04.2016 - 07:47
fonte

3 risposte

1

Aggiornamento: Questo metodo funziona su OS X 10.11 e versioni precedenti almeno su OS X 10.8 (non lo test su qualcosa di più vecchio di OS X 10.8) ma non funziona più come codificato in macOS 10.12 a causa di modifiche significative a Mission Control prodotto da Apple.

Per aggiungere un desktop in Mission Control a livello di codice, il codice sotto può essere usato come AppleScript o BASH Script in combinazione con un servizio di Automator usando Esegui AppleScript o Esegui script di shell, rispettivamente, e una chiave sequenza assegnata al Servizio in Preferenze di Sistema in Scorciatoie da tastiera.

Codice 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

Codice 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'
  • Apri Automator e seleziona Servizio .

  • Set: il servizio non riceve input in nessuna applicazione

  • Aggiungi un Esegui AppleScript o Esegui script di shell Azione .

  • Aggiungi il codice appropriato per la Azione di destinazione.

  • Salva il servizio come, ad esempio: Aggiungi nuovo desktop

  • Assegna una scorciatoia da tastiera per Servizio in Sistema Preferenze .

Nota: dovrai assegnare una sequenza di tasti che non viene utilizzata altrove sul sistema o in Finder se si sceglie è su qualsiasi applicazione nel servizio .

L'ho provato con: ^⌥⌘D (Control-Option-Command-D)

    
risposta data 12.04.2016 - 14:48
fonte
1

OK, usando la registrazione di Automator, l'ho fatto funzionare con una versione riveduta di AppleScript nell'altra risposta.

Sostituisci "del gruppo 1" con "del gruppo 2 del gruppo 1 del gruppo 1 di":

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
    
risposta data 20.04.2017 - 23:02
fonte
1

Sì, funziona, una specie di. Il problema è che la soluzione di user3439894 finisce per generare un errore se l'applicazione attiva (Finder, textedit, ecc.) Non è stata aggiunta a Security & Riquadro di accessibilità alla privacy.

Per ovviare a questo, abbiamo bisogno di due flussi di lavoro, il servizio dell'utente3439894 con l'elenco di gruppi aggiornato come un'applicazione di Automator e un secondo servizio di Automator per avviarlo.

L'applicazione Automator (salvata in / Applicazioni come "Nuovo desktop".)

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

Quindi abbiamo solo bisogno di creare il secondo flusso di lavoro come servizio, usando l'azione "Avvia applicazione" e salvarlo come "New_Desktop"

Ultimi passaggi per aggiungere "Nuova Desktop.App" a Preferenze di Sistema > Sicurezza e amp; Privacy > Accessibilità

Quindi aggiungi la scorciatoia da tastiera in Preferenze di Sistema > Tastiera > Tasti di scelta rapida > Servizi > Generale per il New_Desktop.workflow.

    
risposta data 21.04.2017 - 22:10
fonte