Ich bin mir bewusst, dass Sie dies über Mission Control tun können, indem Sie auf klicken. In 'Tastatur' ist keine Verknüpfung verfügbar.
Gibt es Möglichkeiten, dies mit einem Programm eines Drittanbieters oder Applescript zu tun?
Ich bin mir bewusst, dass Sie dies über Mission Control tun können, indem Sie auf klicken. In 'Tastatur' ist keine Verknüpfung verfügbar.
Gibt es Möglichkeiten, dies mit einem Programm eines Drittanbieters oder Applescript zu tun?
Antworten:
Update: Diese Methode funktioniert unter OS X 10.11 und früher mindestens unter OS X 10.8 (wurde nicht auf älteren Versionen als OS X 10.8 getestet), funktioniert jedoch aufgrund der von Apple vorgenommenen wesentlichen Änderungen an Mission Control nicht mehr wie in macOS 10.12 codiert .
Um einen Desktop in Mission Control programmgesteuert hinzuzufügen, kann der folgende Code als AppleScript- oder BASH-Skript in Verbindung mit einem Automator-Dienst verwendet werden, der AppleScript bzw. Shell-Skript ausführen ausführt, und eine Tastenfolge, die dem Dienst in den Systemeinstellungen auf der Tastatur zugewiesen ist Verknüpfungen.
AppleScript-Code:
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
BASH-Skriptcode:
#!/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'
Öffnen Sie Automator und wählen Sie Service .
Festlegen: Der Dienst erhält in keiner Anwendung Eingaben
Fügen Sie entweder eine Aktion " AppleScript ausführen" oder " Shell-Skript ausführen" hinzu .
Fügen Sie den entsprechenden Code für die Zielaktion hinzu .
Speichern Sie den Dienst unter z. B.: Neuen Desktop hinzufügen
Weisen Sie in den Systemeinstellungen eine Tastenkombination für den Dienst zu .
Hinweis: Sie müssen eine Tastenfolge zuweisen, die an keiner anderen Stelle im System oder im Finder verwendet wird, wenn Sie sich für eine Anwendung im Service entscheiden .
Ich habe es getestet mit: ⌃⌥⌘D (Control-Option-Command-D)
OK, mit der Automator-Aufzeichnung habe ich sie mit einer überarbeiteten Version des AppleScript in der anderen Antwort zum Laufen gebracht.
Ersetzen Sie "von Gruppe 1" durch "von Gruppe 2 von Gruppe 1 von Gruppe 1 von":
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
Ja, das funktioniert irgendwie. Das Problem besteht darin, dass die Lösung von user3439894 einen Fehler auslöst, wenn die aktive Anwendung (Finder, Textedit usw.) nicht zum Bereich Sicherheit und Datenschutz hinzugefügt wurde.
Um dies zu umgehen, benötigen wir zwei Workflows, den Dienst von user3439894 mit der aktualisierten Gruppenliste als Automator-Anwendung und einen zweiten Automator-Dienst, um ihn zu starten.
Die Automator-Anwendung (Gespeichert in / Anwendungen als "Neuer Desktop".)
on run {Eingabe, Parameter}
Shell-Skript "open -a 'Mission Control'"
Verzögerung 0,5
Weisen Sie die Anwendung "Systemereignisse" an, auf Gruppe 2 von Gruppe 1 von Gruppe 1 von Prozess "Dock" zu klicken (jede Schaltfläche, deren Wert des Attributs "AXDescription" "Desktop hinzufügen" ist).
Verzögerung 0,5
Teilen Sie der Anwendung "Systemereignisse" den Schlüsselcode 53 mit
Eingabe zurückgeben
Lauf beenden
Dann müssen wir nur noch den zweiten Workflow als Service erstellen, indem wir die Aktion "Anwendung starten" verwenden und ihn als "New_Desktop" speichern.
Die letzten Schritte sind das Hinzufügen von "New Desktop.App" zu Systemeinstellungen> Sicherheit und Datenschutz> Barrierefreiheit
Fügen Sie dann Ihre Tastenkombination unter Systemeinstellungen> Tastatur> Verknüpfungen> Dienste> Allgemein für den Workflow New_Desktop.workflow hinzu.