Utwórz nowe miejsce za pomocą skrótu klawiaturowego


10

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?

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj


Bardzo pomocne pytanie dla mojego przepływu pracy. Chciałbym również wiedzieć o twoim tle pulpitu!
— Qcom

1
Cieszę się, że podoba Ci pytanie :) Oto link do tapet somethingpeach.com/wp-content/uploads/2014/06/...
— Jonathan De Wet

Odpowiedzi:


1

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)


Dzięki, działało świetnie. Czy myślisz, że możesz stworzyć drugi skrypt do usuwania spacji?
— Jonathan De Wet

@Jathanathan, dodawanie pulpitu jest swego rodzaju kludge, programowo, na początek i możliwe, ponieważ istnieje AXButton z AXDescription „dodaj pulpit”, który można kliknąć, jednak AXButton (y) pod kontrolą misji za pomocą AXTitle, np. „ Pulpit 2 ”, chociaż ma zamknięty element (okrąg z siekierą, w lewym górnym rogu przycisku), nie można go adresować w ten sam sposób, ponieważ nie ma przycisku„ usuń pulpit ”. Naprawdę nie wiem, jak łatwo usunąć programowo jeden, przepraszam.
— user3439894

To ma sens. Dzięki za poświęcenie mi czasu na wyjaśnienie tego
— Jonathan De Wet,

Próbowałem tego w systemie macOS (10.12.1) i nie miałem szczęścia. Otwiera Kontrolę misji na 0,5 sekundy, ale przycisk Nowy pulpit nie jest wciśnięty.
— domi91c

2
@ user3439894 Tak, właśnie komentowałem na wypadek, gdyby ktoś miał odpowiedź na MacOS. Nie zastanawiałem się nad stworzeniem osobnego pytania; Czy powinienem? Dziękuję, doceniam pomoc.
— domi91c

2

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

Sprawdzona odpowiedź nie działała dla mnie, ale ta zadziałała =)
— Brian Schermerhorn

1

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.