Erstellen Sie einen neuen Bereich mit einem Tastaturkürzel

Mir ist bewusst, dass Sie dies von Mission Control aus tun können, indem Sie auf klicken, und es gibt keine Verknüpfung unter „Tastatur“.

Gibt es Möglichkeiten, dies mit einem Drittanbieterprogramm oder Applescript zu tun?

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Sehr hilfreiche Frage für meinen Workflow. Ich würde auch gerne etwas über Ihren Desktop-Hintergrund wissen!
Freut mich, dass dir die Frage gefallen hat :) Hier ist ein Link zum Hintergrundbild Somethingpeach.com/wp-content/uploads/2014/06/…

Antworten (3)

Update: Diese Methode funktioniert in OS X 10.11 und früher mindestens bis OS X 10.8 (habe es nicht auf etwas älter als OS X 10.8 getestet), funktioniert aber nicht mehr wie in macOS 10.12 codiert, da Apple wesentliche Änderungen an Mission Control vorgenommen hat .


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, indem AppleScript ausführen bzw. Shell-Skript ausführen und eine dem Dienst in den Systemeinstellungen in der Tastatur zugewiesene Tastenfolge verwendet werden Abkürzungen.


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 .

  • Gesetzt: 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 als, zB: Neuen Desktop hinzufügen

  • Weisen Sie dem Dienst in den Systemeinstellungen eine Tastenkombination zu .

Hinweis: Sie müssen eine Tastenfolge zuweisen, die nicht an anderer Stelle im System oder im Finder verwendet wird , wenn Sie sich für eine Anwendung im Dienst entscheiden .

Ich habe es getestet mit: ⌃⌥⌘D (Control-Option-Command-D)

Danke das hat super funktioniert. Denken Sie, Sie könnten ein zweites Skript zum Löschen von Leerzeichen erstellen?
@Jonathan, das Hinzufügen eines Desktops ist programmgesteuert zunächst eine Art Klacks und möglich, da es einen AXButton mit der AXDescription von "Desktop hinzufügen" gibt, auf den jedoch die AXButton(s) unter Mission Control mit AXTitle geklickt werden können, z. B. " Desktop 2", obwohl es ein Schließen-Element hat (ein Kreis mit einer Axt in der oberen linken Ecke der Schaltfläche), ist es nicht auf die gleiche Weise ansprechbar, da es keine Schaltfläche "Desktop entfernen" gibt. Also kenne ich wirklich keinen einfachen Weg, um einen programmgesteuert zu entfernen, sorry.
Das macht Sinn. Danke, dass du dir die Zeit genommen hast, es mir zu erklären
Ich habe dies in macOS (10.12.1) versucht und hatte kein Glück. Es öffnet Mission Control für die 0,5 Sekunden, aber die Schaltfläche „Neuer Desktop“ wird nicht gedrückt.
@portOdin, wenn Sie sich die Tags auf dem OP ansehen, wird el-capitan angezeigt, und unter diesem wurde dies getestet, und es funktioniert dort. Jede Version des Betriebssystems bringt ihre eigenen Probleme mit sich und beschädigt Code , der in früheren Betriebssystemversionen funktioniert hat. Wenn ich einen Moment Zeit habe, werde ich es unter macOS Sierra versuchen und sehen, ob ich es dort zum Laufen bringen kann.
@ user3439894 Ja, ich habe nur kommentiert, falls jemand eine Antwort für MacOS hat. Ich hatte nicht daran gedacht, eine separate Frage zu erstellen; sollte ich? Danke aber, ich weiß die Hilfe zu schätzen.

OK, mit der Automator-Aufzeichnung habe ich es mit einer überarbeiteten Version des AppleScripts in der anderen Antwort zum Laufen gebracht.

„von Gruppe 1“ ersetzen 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
Die überprüfte Antwort hat bei mir nicht funktioniert, aber diese hat es getan =)

Ja, das funktioniert, irgendwie. Das Problem ist, dass die Lösung von user3439894 am Ende einen Fehler ausgibt, 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 /Applications als „Neuer Desktop“.)

on run {Eingabe, Parameter}

Führen Sie das Shell-Skript "open -a 'Mission Control'" aus

Verzögerung 0,5

Sagen Sie der Anwendung "Systemereignisse", dass sie klicken soll (jede Schaltfläche, deren Wert des Attributs "AXDescription" "Desktop hinzufügen") der Gruppe 2 der Gruppe 1 der Gruppe 1 des Prozesses "Dock" ist

Verzögerung 0,5

Teilen Sie der Anwendung "Systemereignisse" den Schlüsselcode 53 mit

Eingang zurückgeben

Endlauf

Dann müssen wir nur noch den zweiten Workflow als Dienst erstellen, indem wir die Aktion „Launch Application“ verwenden und ihn als „New_Desktop“ speichern.

Die letzten Schritte bestehen darin, „Neue Desktop.App“ zu den Systemeinstellungen > Sicherheit & Datenschutz > Eingabehilfen hinzuzufügen

Fügen Sie dann Ihre Tastenkombination in Systemeinstellungen > Tastatur > Verknüpfungen > Dienste > Allgemein für den New_Desktop.workflow hinzu.