Oto moje rozwiązanie, które nazwałem Window-Snapshot , bazuje na bardzo prostej AppleScript , albo zapisane jako aplikacja z poziomu Edytor skryptów i lub używany jako część Usługa Automator z skrót klawiszowy przydzielony. Chociaż jako Usługa korzysta z narzędzia innej firmy używanego w WindowScript Snapshot AppleScript Aplikacje jedno * kliknięcie myszką szczegółowo poniżej.
- Uwaga: Automator używany jako Usługa samo w sobie jest fajną funkcją, gdy jest używana z globalny skrót klawiaturowy może to być problematyczne, chyba że skrót klawiszowy używane, oba są nadający się do użytku i nieużywany gdzie indziej w OS X lub dowolne otwarte Aplikacje którego okno ma zostać przechwycone. Dlatego włączyłem korzystanie z AppleScript oba jako Aplikacja AppleScript i lub Usługa Automator z skrót klawiszowy przydzielony. Podczas gdy niektóre Skróty klawiszowe przypisany do Usługa Automator będzie działać z większością okien aplikacji, ale może nie działać z niektórymi, nawet jeśli ten skrót klawiaturowy nie jest przypisany do tej aplikacji przechwytywanego okna. W takich przypadkach WindowScript Snapshot AppleScript Aplikacja może być używana na Usługa Automator .
Jako aplikacja AppleScript
Można to ustawić na a dwa kliknięcia myszką ( domyślny ) lub a jedno * kliknięcie myszką .
- * Uwaga: jako jedno * kliknięcie myszką wymaga użycia zewnętrznego narzędzia o nazwie CLICLICK . O ile wiem, nie ma bezpośredniego zdarzenie myszy / myszy w AppleScript a zatem użycie narzędzia innej firmy lub w inny sposób użycie dodatkowego kodu, a następnie tego, co jest już prezentowane, w celu zastosowania metod, które wykorzystują inne zasoby, rodzime i / lub zewnętrzne.
Jak dwa kliknięcia myszką AppleScript jest zapisany jako aplikacja, zapisałem go jako Window-Snapshot w Aplikacje , a następnie umieściłem go w Dok przeciągając i upuszczając pakiet aplikacji na Dok gdzie chciałem być.
- Co podoba mi się w dwa kliknięcia myszką jest kiedy Dock Tile z Window-Snapshot kliknięcie aplikacji powoduje, że dosłownie nacisnąłem ręcznie przesunięcie - dowództwo - 4 następnie Spacja na klawiaturze i teraz wszystko, co muszę zrobić, to myszą okno docelowe Chcę uchwycić, a potem kliknięcie myszką to. Tak więc dwa kliknięcia myszką ! Ta metoda pozwala na naciśnięcie wyjście klawisz, aby przerwać, tak jak ręcznie naciśnięty skrót klawiszowy byłoby. Również nie polega na użyciu narzędzia innej firmy i sekundy
delay
polecenie jako zegar pozwalający ustawić wskaźnik myszy przed upływem czasu i automatycznie wykonuje migawkę użytą w jedno * kliknięcie myszką . Sam w sobie dwa kliknięcia myszką jest najłatwiejszym przedstawionym tutaj rozwiązaniem.
Jak jedno * kliknięcie myszką AppleScript jest zapisywany jako aplikacja i narzędzie innej firmy CLICLICK jest dodawany do pakietu aplikacji, a odpowiedni kod jest odkomentowany w skrypcie.
- Zanotuj jedno * kliknięcie myszką używa sekundy
delay
polecenie, aby dać czas na ustawienie kursora myszy w dowolnym miejscu okna docelowego do przechwycenia i nie ma znaczenia, czy okno jest najwyżej położonym oknem, gdy drugie delay
dowództwo czas się skończył Niezależnie od tego, w którym oknie znajduje się mysz, jest to ta uchwycona w migawce. Przechwytywanie można przerwać, naciskając wyjście klucz przed drugim delay
dowództwo czas się skończył .
Jako usługa Automatora z skrót klawiszowy
Tak jak Usługa Automator jest tworzony za pomocą Jabłko kod, zmodyfikowany nieznacznie i a skrót klawiszowy jest przypisany do Usługa w: Preferencje systemowe & gt; Skróty klawiaturowe & gt; Usługi
- Zanotuj skrót klawiszowy Mam przypisane przesunięcie - dowództwo - 5 lub ⇧⌘5, co wydawało się logiczne do użycia, i niezależnie od tego, w którym oknie znajduje się mysz, okno, które zostanie przechwycone przez migawkę. Okno nie musi być całkowicie widoczne, aby mogło zostać przechwycone lub być najwyżej położonym oknem.
Window-Snapshot AppleScript Code
tell application "System Events"
(* Note: If used as the default two mouse-click solution then use as is, nothing else needs to be done. *)
keystroke "$" using {command down}
delay 0.25
keystroke space
(* Note: If using as the one mouse-click solution or Automator Service, uncomment the
two lines below having double-dashes in front by removing the double-dashes.
Also when using as the one mouse-click solution, set a value on the 'delay' command
below to an appropriate value which allows you the time necessary to move the mouse
over the target window before that delay command times out and the snapshot is taken.
The default of '1.5' is in this use case is a somewhat arbitrary value, set it to suite.
Note: When using as an Automator Service set the 'delay' command below to '0.25',
the same as in the first 'delay' command. *)
-- delay 1.5
-- do shell script "/Applications/Window-Snapshot.app/Contents/Resources/cliclick c:."
end tell
- Uwaga: Jak widać, istnieje
0.25
druga wartość, delay 0.25
, na pierwszym delay
polecenie, to krótkie opóźnienie jest konieczne, ponieważ między nimi musi być opóźnienie keystroke
polecenia. Jeśli używasz jedno * kliknięcie myszką drugi delay
polecenie musi być czymś bardziej realistycznym. Ustaw wartość, która pozwala na przesunięcie myszy nad okno docelowe przed wygaśnięciem polecenia opóźnienia, np. 1.5
itp.
Tworzenie aplikacji Window-Snapshot
otwarty Edytor skryptów (lub Edytor AppleScript jeśli dotyczy).
Skopiuj i wklej Window-Snapshot AppleScript Code , z góry, do Nieuprawny okno dokumentu, a następnie naciśnij Skompilować .
naciśnij ⌘ S aby zapisać i ustawić Format pliku: do Podanie zapisując go w Aplikacje teczka.
Dać Window-Snapshot pakiet aplikacji ikona niestandardowa. Użyłem ikony kamery znalezionej w Znajdź ikony i używane w szczególności ten klikając przycisk „Pobierz ICNS”. Otworzyłem pobrany plik „scanners_cameras.icns” Zapowiedź i skopiowałem go, a następnie wkleiłem do Zdobyć informacje arkusz Window-Snapshot.app wybierając najpierw małą ikonę w lewym górnym rogu Informacje o migawkach okien arkusz. (W Aplikacje Wybierz Window-Snapshot.app i naciśnij: ⌘ ja )
Teraz przeciągnij i upuść Window-Snapshot pakiet aplikacji od Aplikacje folder na Dok gdzie chciałbyś być.
Jest teraz gotowy do użycia, kliknij Window-Snapshot Dock Tile a następnie kliknij okno docelowe do przechwycenia.
- Uwaga: Migawki są zapisywane z tymi samymi ustawieniami nazewnictwa i lokalizacji, jak gdyby naciśnięto ⇧⌘3 tylko zapisując tylko okna docelowe. The domyślna jest na pulpicie za pomocą
Screen Shot yyyy-mm-dd at hh.mm.ss AM|PM
lub jeśli domyślna został zmieniony, będzie jednak ustawiony.
Konfigurowanie Window-Snapshot.app jako jednego * kliknięcia myszą za pomocą CLICLICK
Ściągnij CLICLICK i zamontuj plik cliclick.dmg i umieść kopię pliku cliclick
plik wykonywalny wewnątrz Window-Snapshot.app pakiet aplikacji na ścieżce pokaż w skrypcie. Ctrl-Click Window-Snapshot wybór aplikacji Pokaż Zawartość opakowania i przejdź do Zasoby folder zawierający kopię pliku cliclick
wykonywalny tam.
Odkomentuj dwie linie poniżej (* Note: If using as the one mouse-click solution or Automator Service,
komentarze usuwając podwójne kreski, --
, przed kodem.
Zapisz zmiany wprowadzone w AppleScript .
Jest teraz gotowy do użycia jako jedno * kliknięcie myszką .
Tworzenie usługi Automator Window-Snapshot
otwarty Automator wybór Usługa .
Zestaw Wybrano usługę do brak wejścia odejście w dowolnej aplikacji jak jest.
Dodać Uruchom AppleScript a następnie skopiuj i wklej Window-Snapshot AppleScript Code powyżej do Uruchom AppleScript okno nadpisujące kod domyślny.
Odkomentuj dwie linie poniżej (* Note: If using as the one mouse-click solution or Automator Service,
komentarze usuwając podwójne kreski, --
, przed kodem i ustaw wartość drugiego delay
polecenie do 0.25
.
Zapisz Usługa groźny ⌘ S nazywanie go jako Window-Snapshot .
otwarty Preferencje systemu i przejdź do Klawiatura & gt; Skróty klawiaturowe & gt; Usługi i przewiń do dołu, a następnie pod Generał zobaczysz Window-Snapshot i wybierz to. Teraz kliknij Dodaj skrót i naciśnij przesunięcie - dowództwo - 5 lub: ⇧⌘5
Jest teraz gotowy do użycia jako Usługa używając skrót klawiszowy : ⇧⌘5
- Uwaga: Jeśli chcesz go używać tylko jako Usługa musisz dostosować ścieżkę do
cliclick
wykonywalny do dowolnego miejsca. Możesz spróbować umieścić go w pakiecie usług, np. /Users/$USER/Library/Services/Window-Snapshot.workflow/Contents
, chociaż nie próbowałem tego, jak lubię mieć to jako oba AppleScript aplikacja używająca go jako dwa kliknięcia myszką i an Usługa Automator z skrót klawiszowy przydzielony.
Na zakończenie chciałbym powiedzieć, że to bardzo proste AppleScript Z pewnością można to wyjaśnić, dodając dodatkową funkcjonalność zarówno jako aplikację, jak i usługę, tj. dodając kod, aby zapisać migawkę z różnymi nazwami i lokalizacjami itp., jednak pozostawię to do modyfikacji, jeśli tak zdecydujesz.
checkModifierKeys
i robi to, co sugeruje nazwa, i mam to zakodowane, aby po naciśnięciu klawisza Shift, gdy kliknę na Dock Tile, przełączadisable-shadow
wpisz plik .plist w screencapture, aby móc łatwo robić zdjęcia bez cienia. Oba pliki wykonywalne zbudowałem z kodu źródłowego podanego przez autorów, chociaż oba dostarczają pliki binarne. Jeśli jesteś zainteresowany, daj mi znać, że zaktualizuję odpowiedź.Jedną z metod byłoby użycie
screencapture
dowództwo:który przechwyci pierwsze kliknięte okno po uruchomieniu polecenia i zapisz je jako
window.png
.Istnieje kilka różnych sposobów powiązania tego polecenia ze skrótem klawiaturowym, np. tworząc Usługa automatora, która uruchamia ją jako skrypt powłoki lub za pomocą wyrzutni innej firmy Alfred . Tak czy inaczej, pewnie chciałbyś również dodać kilka procesów do procesu, który za każdym razem wybierał inną nazwę pliku, więc nie nadpisywałeś poprzedniego zrzutu ekranu.
Nie znam łatwego sposobu, aby zawsze przechwycić najbardziej frontowe okno ... może guru AppleScript może w tym pomóc?
źródło
Dlaczego nie po prostu włączyć rozszerzone polecenia dyktowania, a następnie utworzyć nowe polecenie głosowe? W poniższym przykładzie stworzyłem polecenie głosowe, które, gdy mówię „Grab Picture”, zrobi zrzut ekranu. Całkowicie obejdź LOL klawiatury
źródło