นี่คือโซลูชันของฉันซึ่งฉันตั้งชื่อว่าWindow-Snapshotซึ่งอยู่บนพื้นฐานของAppleScript ที่เรียบง่ายไม่ว่าจะบันทึกเป็นแอปพลิเคชันจากภายในตัวแก้ไขสคริปต์และหรือใช้เป็นส่วนหนึ่งของAutomator Serviceโดยกำหนดแป้นพิมพ์ลัด แม้ว่าจะเป็นบริการแต่ใช้ยูทิลิตี้ของบุคคลที่สามที่ใช้ในโซลูชัน * คลิกเมาส์คลิกเดียวของแอปพลิเคชันWindow-Snapshot AppleScriptโดยมีรายละเอียดด้านล่าง
- หมายเหตุ: Automatorใช้เป็นบริการถูกด้วยตัวเองเป็นคุณลักษณะที่ดี แต่เมื่อใช้กับแป้นพิมพ์ลัดทั่วโลกก็อาจเป็นปัญหาได้เว้นแต่แป้นพิมพ์ลัดใช้เป็นทั้งที่ใช้งานได้ และ ไม่ได้อยู่ในการใช้งานอื่น ๆในOS Xหรือเปิดการใช้งานที่มีหน้าต่าง จะถูกจับ นี่คือเหตุผลที่ฉันได้รวมการใช้AppleScriptทั้งเป็นแอปพลิเคชัน AppleScriptและหรือบริการอัตโนมัติด้วยการกำหนดแป้นพิมพ์ลัด ในขณะที่แป้นพิมพ์ลัดบางตัวได้รับมอบหมายให้บริการอัตโนมัติจะใช้งานได้กับหน้าต่างแอปพลิเคชันส่วนใหญ่อย่างไรก็ตามมันอาจใช้ไม่ได้กับบางหน้าต่างแม้ว่าแป้นพิมพ์ลัดนั้นจะไม่ถูกกำหนดให้กับแอปพลิเคชันของหน้าต่างที่ถูกจับ ในกรณีเช่นนี้แอปพลิเคชันWindow-Snapshot AppleScriptสามารถใช้บริการ Automator Serviceได้
เป็นแอพพลิเคชั่น AppleScript
สามารถตั้งค่าให้เป็นโซลูชันคลิกเมาส์สองรายการ ( ค่าเริ่มต้น ) หรือโซลูชันคลิกเมาส์หนึ่งรายการ
- * หมายเหตุ: ในฐานะที่เป็นหนึ่งในวิธีการแก้ปัญหา * * * * คลิกเมาส์มันต้องใช้สาธารณูปโภคของบุคคลที่สามเรียกว่าCLICLICK เท่าที่ฉันรู้ไม่มีเหตุการณ์การใช้เมาส์ / เมาส์ซ้ายโดยตรงในAppleScriptและการใช้ยูทิลิตี้ของบุคคลที่สามหรือการใช้รหัสเพิ่มเติม หรือบุคคลที่สาม
ในฐานะที่เป็นโซลูชันคลิกเมาส์สองทางAppleScriptมันถูกบันทึกเป็นแอปพลิเคชันฉันบันทึกเป็นWindow-Snapshotในแอปพลิเคชันจากนั้นวางลงในDockโดยการลากและวางกลุ่มแอปพลิเคชันลงบนDockที่ฉันต้องการ
- สิ่งที่ผมชอบเกี่ยวกับการแก้ปัญหาสองคลิกเมาส์คือเมื่อกระเบื้อง Dockของหน้าต่างภาพรวมแอพลิเคชันที่มีการคลิกก็แท้จริงเหมือนฉันได้กดด้วยตนเองshift- command- 4จากนั้นSpace barบนแป้นพิมพ์และตอนนี้สิ่งที่ผมต้องทำคือเมาส์มากกว่าเป้าหมาย หน้าต่างฉันต้องการที่จะจับภาพและจากนั้นคลิกเมาส์มัน ดังนั้นวิธีการแก้ปัญหาการคลิกเมาส์สองครั้ง ! วิธีนี้อนุญาตให้กดปุ่มescเพื่อยกเลิกเช่นเดียวกับแป้นพิมพ์ลัดที่กดด้วยตนเองจะมี นอกจากนี้ยังไม่ต้องพึ่งพาการใช้ยูทิลิตี้ของบุคคลที่สามและที่สอง
delay
คำสั่งเป็นตัวจับเวลาเพื่อให้การวางตำแหน่งตัวชี้เมาส์ไปก่อนเวลามันออกมาโดยอัตโนมัติและจะใช้เวลาภาพรวมที่ใช้ในหนึ่ง * สารละลายคลิกเมาส์ ด้วยตัวเองโซลูชันการคลิกเมาส์สองทางเป็นทางออกที่ง่ายที่สุดที่นำเสนอในที่นี้
ในฐานะที่เป็นหนึ่งในวิธีการแก้ปัญหา * * * * คลิกเมาส์AppleScriptจะถูกบันทึกเป็นใบสมัครและยูทิลิตี้ที่สามบุคคลCLICLICKจะถูกเพิ่มมัดใบสมัครและรหัสที่สอดคล้องกันคือ uncommented ในสคริปต์
- หมายเหตุ: โซลูชัน * mouse-clickใช้
delay
คำสั่งที่สองเพื่อให้เวลาในการวางตำแหน่งตัวชี้เมาส์ที่ใดก็ได้เหนือหน้าต่างเป้าหมายที่จะจับภาพและไม่สำคัญว่าหน้าต่างนั้นจะเป็นหน้าต่างด้านบนสุดหรือไม่เมื่อdelay
คำสั่งที่สองหมดเวลาที่ว่าเมาส์จะอยู่เหนือหน้าต่างใด จับสามารถยกเลิกได้โดยการกดescที่สำคัญก่อนที่สองdelay
คำสั่งครั้งจาก
เป็นบริการ Automator พร้อมแป้นพิมพ์ลัด
ในฐานะที่เป็นบริการอัตโนมัติมันถูกสร้างขึ้นโดยใช้รหัสApplesScriptแก้ไขเล็กน้อยและแป้นพิมพ์ลัดได้รับการกำหนดให้กับบริการใน: การตั้งค่าระบบ> แป้นพิมพ์ลัด> บริการ
- หมายเหตุ: แป้นพิมพ์ลัดที่ฉันกำหนดคือshift- command- 5หรือ⇧⌘5ซึ่งดูเหมือนว่าจะใช้ตรรกะและหน้าต่างใดที่เมาส์วางอยู่เหนือคือหน้าต่างที่จะจับภาพสแนปชอต หน้าต่างไม่จำเป็นต้องปรากฏให้เห็นอย่างสมบูรณ์เพื่อจับภาพหรือเป็นหน้าต่างที่อยู่ด้านบนสุด
รหัส AppleScript ของ Window-Snapshot
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
- หมายเหตุ: ตามที่คุณเห็นว่ามี
0.25
ค่าที่สองdelay 0.25
ในdelay
คำสั่งแรกการหน่วงเวลาสั้น ๆ นี้เป็นสิ่งจำเป็นเนื่องจากจะต้องมีการหน่วงเวลาระหว่างสองkeystroke
คำสั่ง หากใช้โซลูชันคลิกเมาส์เพียงปุ่มเดียวdelay
คำสั่งที่สองจะต้องเป็นสิ่งที่สมจริงกว่า ตั้งค่าที่ช่วยให้คุณมีเวลาที่จำเป็นในการเลื่อนเมาส์ไปที่หน้าต่างเป้าหมายก่อนที่คำสั่งหน่วงเวลาจะหมดอายุ1.5
เป็นต้น
การสร้างแอปพลิเคชัน Window-Snapshot
เปิดตัวแก้ไขสคริปต์ (หรือตัวแก้ไข AppleScriptถ้ามี)
คัดลอกและวางหน้าต่าง Snapshot AppleScript รหัสจากด้านบนลงไปในชื่อหน้าต่างเอกสารแล้วกดคอมไพล์
กด⌘Sเพื่อบันทึกและตั้งค่ารูปแบบไฟล์:เป็นแอปพลิเคชันบันทึกไว้ในโฟลเดอร์แอปพลิเคชัน
มอบไอคอนที่กำหนดเองให้แอปพลิเคชันWindow-Snapshot ฉันใช้ไอคอนกล้องที่พบในไอคอนค้นหาและใช้ไอคอนนี้โดยเฉพาะการคลิกปุ่ม 'ดาวน์โหลด ICNS' ฉันเปิดไฟล์ "scanners_cameras.icns" ที่ดาวน์โหลดมาแล้วในตัวอย่างและคัดลอกแล้ววางลงในแผ่นรับข้อมูลของWindow-Snapshot.appโดยเลือกไอคอนเล็ก ๆ ที่มุมบนซ้ายของแผ่นข้อมูล Window-Snapshot (ในการประยุกต์ใช้งานเลือกWindow-Snapshot.appและกด: ⌘I)
ตอนนี้ลากและวางหน้าต่าง Snapshotกำปพลิเคชันจากการประยุกต์ใช้งานโฟลเดอร์บนDockที่คุณอยากให้มันเป็น
ตอนนี้พร้อมใช้งานแล้วคลิกที่Tile Window-Snapshot Dockแล้วคลิกหน้าต่างเป้าหมายที่ต้องการบันทึก
- หมายเหตุ: สแนปชอตจะได้รับการบันทึกด้วยการตั้งชื่อและการตั้งค่าเดียวกันกับที่กด⇧⌘3เพียงบันทึกเฉพาะหน้าต่างเป้าหมาย เริ่มต้นอยู่บนเดสก์ท็โดยใช้
Screen Shot yyyy-mm-dd at hh.mm.ss AM|PM
หรือถ้าเริ่มต้นมีการเปลี่ยนแปลงก็จะอย่างไรก็ตามมีการตั้งค่าในขณะนี้
การตั้งค่า Window-Snapshot.app ให้เป็นโซลูชันคลิกเมาส์หนึ่งครั้งโดยใช้ CLICLICK
ดาวน์โหลดCLICLICKและติดตั้งไฟล์ cliclick.dmg และวางสำเนาของcliclick
ไฟล์ปฏิบัติการภายในบันเดิลแอปพลิเคชันWindow-Snapshot.appที่พา ธ ที่แสดงในสคริปต์ Ctrl คลิกหน้าต่างภาพรวมแอปเลือกShow Package Contentsและนำทางไปยังทรัพยากรโฟลเดอร์วางสำเนาของการcliclick
ปฏิบัติการมี
ยกเลิกการคอมเม้นท์สองบรรทัดด้านล่าง(* Note: If using as the one mouse-click solution or Automator Service,
ความคิดเห็นโดยลบเครื่องหมายขีดคั่นคู่--
หน้ารหัส
บันทึกการเปลี่ยนแปลงที่เกิดขึ้นกับAppleScript
ตอนนี้พร้อมที่จะใช้เป็นโซลูชันคลิกเมาส์เพียงปุ่มเดียว
การสร้างบริการอัตโนมัติของ Window-Snapshot
เปิดอัตโนมัติเลือกบริการ
ตั้งค่าบริการได้รับเลือกในการป้อนข้อมูลไม่ออกในโปรแกรมใด ๆที่เป็นอยู่ เพิ่มRun AppleScriptแล้วคัดลอกและวางรหัสWindow-Snapshot AppleScriptข้างต้นลงในหน้าต่างRun AppleScriptแทนที่รหัสเริ่มต้น
uncomment สองบรรทัดด้านล่าง(* Note: If using as the one mouse-click solution or Automator Service,
ความคิดเห็นโดยการเอาคู่ขีดคั่น--
ในด้านหน้าของรหัสและการตั้งค่าของสองคำสั่งdelay
0.25
บันทึกบริการกด⌘Sตั้งชื่อมันเป็นหน้าต่างภาพรวม
เปิดการตั้งค่าระบบและไปที่คีย์บอร์ด> แป้นพิมพ์ลัด> บริการและเลื่อนลงไปด้านล่างจากนั้นภายใต้ทั่วไปคุณจะเห็นWindow-Snapshotแล้วเลือก ตอนนี้คลิกที่เพิ่มทางลัดแล้วกดshift- command- 5หรือ: ⇧⌘5
ตอนนี้พร้อมที่จะใช้เป็นบริการโดยใช้แป้นพิมพ์ลัด : ⇧⌘5
- หมายเหตุ: หากคุณต้องการใช้เป็นบริการคุณจะต้องปรับชื่อพา ธ เป็น
cliclick
ไฟล์เรียกใช้งานได้ทุกที่ที่คุณติดตั้ง คุณสามารถลองวางไว้ในมัดบริการได้เช่น/Users/$USER/Library/Services/Window-Snapshot.workflow/Contents
กันแม้ว่าฉันจะไม่ได้ลองทำสิ่งนี้เพราะฉันชอบที่จะให้มันเป็นทั้งแอปพลิเคชันAppleScript ที่ใช้มันเป็นโซลูชันคลิกเมาส์สองตัวและบริการอัตโนมัติด้วยการกำหนดแป้นพิมพ์ลัด
ในตอนท้ายฉันอยากจะบอกว่าAppleScript ที่เรียบง่ายนี้สามารถอธิบายได้อย่างชัดเจนเพื่อเพิ่มฟังก์ชันการทำงานเพิ่มเติมทั้งในฐานะแอปพลิเคชันหรือบริการเช่นการเพิ่มรหัสเพื่อบันทึกสแน็ปช็อตด้วยชื่อและสถานที่ต่าง ๆ เป็นต้น ปล่อยให้คุณแก้ไขถ้าคุณเลือก