เกี่ยวกับ wmctrl
ด้วยwmctrl
(ไม่ได้ติดตั้งโดยค่าเริ่มต้น) เราสามารถรับข้อมูลเกี่ยวกับ windows, รหัสของพวกเขา, รูปทรงเรขาคณิต, pid ที่เป็นของ ฯลฯ เรายังสามารถย้ายหรือปรับขนาดหน้าต่างด้วยคำสั่งต่าง ๆ อย่างไรก็ตามในบางประเด็นพฤติกรรมของมันดูเหมือนจะไม่สมเหตุสมผล คำถามของฉันเกี่ยวกับการย้าย windows โดยwmctrl
:
กำลังรับข้อมูล
เมื่อฉันเรียกใช้คำสั่ง:
wmctrl -lG
ฉันได้รับ (ao) ข้อมูลต่อไปนี้เกี่ยวกับหน้าต่างในรูปภาพด้านล่าง:
0x04200085 0 746 443 468 205 jacob-System-Product-Name Niet-opgeslagen document 1 - gedit
ในคอลัมน์ 3-5 ข้อมูลเรขาคณิตบอกพิกัด x / y และความกว้าง / ความสูง
การย้าย / ปรับขนาดหน้าต่าง
เมื่อฉันวางพิกัดเหล่านี้ในwmctrl
คำสั่งเพื่อย้าย / ปรับขนาดหน้าต่างมันไม่ควรทำอะไรเลยเนื่องจากพิกัดไม่เปลี่ยนแปลง:
wmctrl -ir 0x04200085 -e 0,746,443,468,205
การเบี่ยงเบน
อย่างไรก็ตามรูปภาพด้านล่างแสดงหน้าต่างถูกเลื่อนลง (28px เพื่อความแม่นยำ) ผมถือว่าเหตุผลก็คือว่าwmctrl
หน้าต่างย้ายคำสั่งคำนวณกับพื้นที่ทำงาน (หน้าจอสูงแผงลบ) ในขณะที่wmctrl -lG
คำสั่งคำนวณกับขนาดหน้าจอทั้งหมด จากนั้นยังคงไม่ได้อธิบาย 4px อย่างไรก็ตาม (แผงควบคุมคือ 24px สูง)
แม้ว่าส่วนเบี่ยงเบนสามารถชดเชยได้ดีในสคริปต์ความจริงที่ว่าฉันไม่เข้าใจสาเหตุไม่พอใจดังนั้นคำถามคือ:
อะไรคือสาเหตุของการเบี่ยงเบนนี้
การย้ายหน้าต่างด้วยพิกัดที่แน่นอนในผลลัพธ์ของwmctrl -lG
ไม่ควรย้ายหน้าต่าง แต่จะทำเช่นนั้น