Wiem, że możesz to zrobić za pomocą Kontroli misji, klikając i nie ma dostępnego skrótu w „Klawiaturze”.
Czy można to zrobić za pomocą programu innej firmy lub Applescript?
Wiem, że możesz to zrobić za pomocą Kontroli misji, klikając i nie ma dostępnego skrótu w „Klawiaturze”.
Czy można to zrobić za pomocą programu innej firmy lub Applescript?
Odpowiedzi:
Aktualizacja: Ta metoda działa w OS X 10.11 i wcześniejszych przynajmniej w OS X 10.8 (nie testowała jej na żadnym starszym niż OS X 10.8), ale nie działa już tak, jak jest zakodowana w macOS 10.12 z powodu znacznych zmian w kontroli misji wprowadzonych przez Apple .
Aby programowo dodać pulpit w ramach kontroli misji, poniższy kod może być używany jako skrypt AppleScript lub BASH w połączeniu z usługą Automatora, używając odpowiednio Run AppleScript lub Run Shell Script, oraz sekwencję klawiszy przypisaną do usługi w Preferencjach systemowych w Klawiaturze Skróty
Kod 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
Kod skryptu 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'
Otwórz Automator i wybierz Serwis .
Zestaw: usługa nie otrzymuje danych wejściowych w żadnej aplikacji
Dodaj akcję Uruchom AppleScript lub Uruchom skrypt powłoki .
Dodać odpowiedni kod dla docelowego działania .
Zapisz usługę jako, np .: Dodaj nowy pulpit
Przypisz skrót klawiaturowy do usługi w Preferencjach systemowych .
Uwaga: Musisz przypisać sekwencję klawiszy, która nie jest używana w innym miejscu w Systemie lub w Finderze, jeśli wybierzesz opcję nad jakąkolwiek aplikacją w Serwisie .
Testowałem to z: ⌃⌥⌘D (Control-Option-Command-D)
OK, używając nagrania Automator, sprawiłem, że działał on ze zmienioną wersją AppleScript w drugiej odpowiedzi.
Zamień „z grupy 1” na „z grupy 2 z grupy 1 z grupy 1 z”:
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
Tak, to działa. Problem polega na tym, że rozwiązanie user3439894 kończy się zgłaszaniem błędu, jeśli aktywna aplikacja (Finder, SMS-y itp.) Nie została dodana do panelu Bezpieczeństwo i prywatność.
Aby obejść ten problem, potrzebujemy dwóch przepływów pracy, usługi user3439894 ze zaktualizowaną listą grup jako aplikacją Automator oraz drugiej usługi Automator do jej uruchomienia.
Aplikacja Automator (zapisana w / Applications jako „New Desktop”.)
on run {input, parameters}
wykonaj skrypt powłoki „open -a 'Mission Control”
opóźnienie 0,5
każ aplikacji „Zdarzenia systemowe”, aby kliknęła (każdy przycisk, którego wartością atrybutu „AXDescription” jest „dodaj pulpit”) z grupy 2 z grupy 1 z grupy 1 procesu „Dock”
opóźnienie 0,5
powiadomić aplikację „Zdarzenia systemowe” o kodzie klucza 53
zwracane dane wejściowe
koniec biegu
Następnie musimy tylko utworzyć drugi przepływ pracy jako usługę, używając akcji „Uruchom aplikację” i zapisać go jako „New_Desktop”
Ostatnie kroki to dodanie „New Desktop.App” do Preferencji systemowych> Bezpieczeństwo i prywatność> Dostępność
Następnie dodaj skrót klawiaturowy w Preferencjach systemowych> Klawiatura> Skróty> Usługi> Ogólne dla przepływu New_Desktop.work.