คุณลองทำสิ่งที่มีรายละเอียดในคำตอบสำหรับคำถามที่คล้ายกันนี้หรือไม่? /unix//a/183941/141220
คุณมี Arch และเป็นเรื่องแปลก wm ดังนั้นคุณอาจรู้ว่าคุณต้องทำการแฮ็คด้วยตัวเอง
โพสต์ใหม่ที่นี่สิ่งนี้มาจากลิงก์ด้านบนหากใช้งานได้อย่าลืมขอบคุณผู้ใช้mikeservด้วยเช่นกันเพราะฉันเป็นผู้ส่งสารส่วนใหญ่ที่นี่
สิ่งต่อไปนี้อาจใช้ได้กับคุณ:
#!/bin/sh
unset X Y; sleep 1
eval "$(xdotool getmouselocation -shell 2>/dev/null)"
for n in X Y; do : "$(($n-=$n>25?25:$n))"; done
xwd -root -silent |
xv - -crop "$X" "$Y" 50 50 \
-geometry "50x50+$X+$Y" \
-nodecor -viewonly -rv -quit
มันขึ้นอยู่กับสามสาธารณูปโภคxv
, และxwd
xdotool
สองอันแรกเป็นยูทิลิตี้ X ทั่วไปมากและอันที่สามฉันแน่ใจว่าคุณมีอยู่แล้ว
หลังจากหลับไปหนึ่งวินาทีxdotool
เขียนพิกัดปัจจุบันของเมาส์ไปยัง stdout ใน-shell
รูปแบบที่เป็นมิตรกับผู้ใช้เช่น:
X=[num]
Y=[num]
windowID=[num]
eval
กำหนดตัวแปรเปลือกตามและการห่วงหักครึ่งหนึ่งของขนาดภาพเร็ว ๆ นี้เพื่อจะแสดงจากแต่ละ$X
และ$Y
's ค่าหรือถ้าค่าทั้งน้อยกว่าชุดให้พวกเขา25
0
xwd
ดัมพ์หน้าต่างรูทบนไพพ์ไปxv
ที่ซึ่งครอบรอบตำแหน่งเมาส์เป็นขนาดรูปภาพ50x50
และแสดงค่าลบของรูปภาพภายใต้เคอร์เซอร์เมาส์ปัจจุบันในหน้าต่างเล็ก ๆ น้อย ๆ จะประดับตกแต่งตัวจัดการหน้าต่างใด ๆ
ผลลัพธ์ที่ได้คือสิ่งนี้:
... แม้ว่าฉันเดาว่าเคอร์เซอร์เมาส์จะไม่ปรากฏในภาพหน้าจอ แม้ว่าจะมั่นใจได้ แต่มันก็อยู่เหนือกล่องสีขาวตรงนั้นเมื่อฉันถ่ายรูป
คุณสามารถเห็นในภาพว่าฉันเขียนมันเป็นฟังก์ชั่นของเปลือกหอยและทำให้มันเป็นพื้นหลังได้อย่างไร มันเป็นเหตุผลหลักที่มีอยู่sleep
ในนั้น - การกดปุ่ม RETURN จะเลื่อนเทอร์มินัลหากคุณอยู่ที่ด้านล่างและxwd
เร็วพอที่จะจับภาพหน้าจอก่อนที่เทอร์มินัลจะเลื่อน - ซึ่งจะชดเชย ลบในภาพเล็กน้อยและฉันไม่ชอบมัน
อย่างไรก็ตามเนื่องจากxv
ทำงานด้วยทั้ง-viewonly
และ-quit
สวิตช์มันจะหายไปทันทีที่คลิกเมาส์ปุ่มหรือกดแป้นคีย์บอร์ด - แต่จะยังคงอยู่จนกว่าคุณจะทำเช่นนั้น
ไม่ต้องสงสัยเลยว่าคุณสามารถทำสิ่งต่าง ๆ ที่ซับซ้อนมากขึ้นด้วยImageMagick
หรือแม้กระทั่งxv
คนเดียวเช่นกัน - แต่ฉันเพิ่งทำกล่องลบเล็ก ๆ น้อย ๆ ใต้เคอร์เซอร์ของเมาส์ คุณสามารถค้นหาเอกสาร XV ที่นี่ และเอกสารสำหรับในxwd
man xwd