Zrób zrzut ekranu okna na komputerze Mac bez użycia spacji, a następnie kliknij myszą

2

Chcę zrobić zrzut ekranu okna na komputerze Mac.

Obecnie używam przesunięcie + cmd + 4 następnie przestrzeń następnie kliknij myszką.

Proces jest bardzo niewygodny, musisz to zrobić w tej kolejności lub będziesz musiał powtórzyć to jeszcze raz.

Chcę zrobić prosty skrót klawiaturowy, aby to zrobić przesunięcie + cmd + 3 .

Chcę użyć prostego skrótu do zrobienia zrzutu ekranu.

Czy to możliwe?

Paul
źródło

Odpowiedzi:

2

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

  1. otwarty Edytor skryptów (lub Edytor AppleScript jeśli dotyczy).

  2. Skopiuj i wklej Window-Snapshot AppleScript Code , z góry, do Nieuprawny okno dokumentu, a następnie naciśnij Skompilować .

  3. naciśnij S aby zapisać i ustawić Format pliku: do Podanie zapisując go w Aplikacje teczka.

  4. 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 )

  5. 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

  1. Ś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.

  2. 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.

  3. Zapisz zmiany wprowadzone w AppleScript .

Jest teraz gotowy do użycia jako jedno * kliknięcie myszką .

Tworzenie usługi Automator Window-Snapshot

  1. otwarty Automator wybór Usługa .

  2. 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.

  3. 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.

  4. Zapisz Usługa groźny S nazywanie go jako Window-Snapshot .

  5. 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.

user3439894
źródło
Działa doskonale, ⇧⌘5 i oszczędza, twoje rozwiązanie pomoże wielu ludziom. Dziękuję Ci.
Paul
@ Paul, Cieszę się, że możesz go użyć. Używam innego ver. aplikacji AppleScript i nie zawiera tutaj kodu, ponieważ używa innego pliku wykonywalnego innej firmy. Drugi plik wykonywalny jest wywoływany checkModifierKeys i robi to, co sugeruje nazwa, i mam to zakodowane, aby po naciśnięciu klawisza Shift, gdy kliknę na Dock Tile, przełącza disable-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ź.
user3439894
1

Jedną z metod byłoby użycie screencapture dowództwo:

screencapture -w window.png

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?

calum_b
źródło
Gdzie zapisano okno.png? także z tą metodą przy użyciu terminala; nadal musisz klikać myszką, to ułatwia, a ja zajrzę do automatora i alfreda, dziękuję.
Paul
Za pomocą powyższego polecenia zapisze się w dowolnym folderze, z którego uruchomiono polecenie. Jeśli na przykład chcesz zawsze zapisywać na pulpicie, możesz określić tę lokalizację jako część nazwy pliku, np. 'screencapture -w ~ / Desktop / window.png'. Tak, docenianie kliknięcia myszą jest nadal wymagane, ale ... nie udało mi się znaleźć sposobu na to.
calum_b
0

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

enter image description here

wch1zpink
źródło