การจำตำแหน่งหน้าต่าง (และขนาดที่ต้องการ) ใน Ubuntu 14.04


13

ฉันเพิ่งติดตั้ง Ubuntu 14.04 ข้างๆ Windows และฉันพบสิ่งหนึ่งที่น่ารำคาญมาก นั่นคือเมื่อฉันเปิดแอปพลิเคชันใด ๆ มันจะเปิดขึ้นที่มุมบนซ้ายของหน้าจอ

สิ่งแรกที่ฉันต้องทำสำหรับทุกแอปพลิเคชั่นที่เปิดอยู่คือย้ายไปที่กึ่งกลางของหน้าจอ (หรือทุกที่ที่ฉันต้องการ) หลังจากนั้นฉันจะปิดแอพ แต่ครั้งต่อไปมันกลับมาที่มุมบนซ้ายของหน้าจออีกครั้ง!

ฉันได้อ่านคำถามที่เกี่ยวข้องใน AskUbuntu และทั่วทั้งเว็บ อย่างไรก็ตามฉันสงสัยเนื่องจากคำถามเหล่านั้นถูกถามเกี่ยวกับ Ubuntu 12 .04 ถ้ามีวิธีแก้ปัญหาที่ดีกว่านี้สำหรับผู้ใช้ 14.04 คน? ไม่ควรมีอะไรแบบนี้อยู่ในการตั้งค่า? ฉันหมายถึงมันเป็นแค่สามัญสำนึกจริงๆ ไม่ใช่เหรอ ฉันไม่รู้อีกแล้ว


3
คุณสามารถใช้ CCSM (Compiz Config Settings Manager) เพื่อควบคุมการตั้งค่าหน้าต่าง sudo apt-get compizconfig-settings-manager(หากยังไม่ได้ติดตั้ง)
ไม่มีเวลา

คำตอบ:


5

( คำตอบอื่นของฉันอธิบายว่าทำไมการกู้คืนตำแหน่งหน้าต่างไม่สามารถทำได้ในกรณีทั่วไป)

สำหรับกรณีพิเศษที่การบันทึกและเรียกคืนตำแหน่งหน้าต่างเป็นไปได้เราสามารถใช้เชลล์สคริปต์เพื่อบันทึกและกู้คืนตำแหน่งหรือเรขาคณิต (เรขาคณิตคือตำแหน่งบวกขนาด) สำหรับกรณีที่ไม่สามารถจัดการโดยการกำหนดค่าตัวจัดการหน้าต่าง (ดูด้านล่าง)

มีเครื่องมือบรรทัดคำสั่งต่าง ๆ ที่จะอ่านและคุณสมบัติชุดของหน้าต่าง - ตัวอย่างและwmiface ตัวอย่างน้อยที่สุด:wmctrl

รับรูปทรงเรขาคณิตของหน้าต่างในรูปแบบ X geometry (โดยปกติคือ WxH + X + Y) (หมายเหตุพิกัด y - ฉันใช้ 16 เดสก์ท็อปเสมือนจริง / วิวพอร์ตเสมือน compiz / วิวพอร์ต):

$ wmiface windowGeometry 46137711
1256x814+1186+5005

ย้ายหน้าต่างไปที่อื่น (สังเกตรูปแบบที่แตกต่างกันสำหรับรูปทรงเรขาคณิต):

wmctrl -i  -r 46137711 -e "0,1186,4005,1256,814"


อีกวิธีหนึ่งคือการกำหนดตำแหน่งคงที่สำหรับบางหน้าต่างแทนที่จะเรียกคืนตำแหน่ง ccsmซึ่งสามารถกำหนดค่าในรายละเอียดของการกำหนดค่าการจัดการหน้าต่างเช่น


ในคำตอบข้างต้นwmifaceซึ่งเป็นวันที่บิตและไม่ได้บรรจุสำหรับ Ubuntu สามารถถูกแทนที่ด้วยxdotool getwindowgeometryหรือwmctrl -lGi | grep(ต้องการการแปลงเลขฐานสิบหก) สำหรับฉันพวกเขาทั้งสองไม่สนใจแผงที่ด้านล่างของหน้าจอ แต่เนื่องจากwmctrl -lGiขนาดของมันกลับมาเช่นกันตำแหน่ง / ขนาดหน้าต่างสามารถสำรองและเรียกคืนได้หลังจากเวลาผ่านไป ไม่ว่ากรณีการใช้งานอาจจะเป็น
Ufos

โดยทั่วไปแล้วฉันตัดสินใจที่จะสำรองข้อมูลwmctrl -lGiและกู้คืนในลักษณะเดียวกับที่อธิบายไว้ในคำตอบ
Ufos

3

ติดตั้ง ccsm (CompizConfigSettingsManager)

หลังจากเริ่ม ccsm (เรียกใช้จากปุ่ม Unity Search) ให้ทำดังนี้:

(คลิกที่) ผู้จัดการ Windows
(คลิกที่) วาง Windows

ใช้การตั้งค่าเหล่านี้:

แก้ไขปัญหา Unticked
โหมดมัลติเอาท์พุตPlace across all outputs

โหมดการจัดตำแหน่งSmartเป็นกุญแจสำคัญในการจดจำตำแหน่งที่คุณต้องการ

โปรดทราบว่าแอปพลิเคชั่นบางตัวได้รับการตั้งโปรแกรมให้แทนที่การตั้งค่าแบบระบบของคุณ


2

ตำแหน่งของหน้าต่างนั้นไม่ใช่เรื่องง่ายที่จะจัดการเพราะ "สามัญสำนึก" อาจแนะนำ
ตำแหน่งมีความสัมพันธ์กับการอ้างอิงบางอย่างเช่น "หน้าจอ" แต่มีหลายสายพันธุ์ของสิ่งที่ "หน้าจอ" อาจหมายถึงที่นี่ (ดูด้านล่าง) ว่ามันเป็นไปไม่ได้ที่จะบันทึกตำแหน่งในลักษณะทั่วไป

แน่นอนว่าสามารถทำได้หลายวิธีซึ่งปรับให้เหมาะกับสภาพแวดล้อมบางอย่าง - แต่ถ้ามันเกี่ยวกับ "เพียงแค่บันทึกตำแหน่งและกู้คืนในภายหลัง" - มันเป็นไปไม่ได้เพราะระบบพิกัดเพื่อกู้คืนตำแหน่งนั้นไม่ชัดเจน

ดังนั้นการแสดงหน้าต่างในบางตำแหน่งบนหน้าจอจึงเป็นเรื่องยาก

ภายใต้ Ubuntu - เช่นเดียวกับระบบที่ใช้ X11 สมัยใหม่ - "หน้าจอ" สามารถเปลี่ยนแปลงได้หลายวิธี - ในระหว่างรันไทม์ดังนั้นตำแหน่งการบันทึกจำเป็นต้องจัดการกับสิ่งนั้น

ตัวอย่างเช่นรูปร่างสามารถเปลี่ยนแปลงได้ จากหนึ่งสี่เหลี่ยมจัตุรัสถึงสองสี่เหลี่ยมเคียงข้างกัน, สามรูปสี่เหลี่ยมผืนผ้าที่มีช่องว่างไม่สามารถเข้าถึงได้ในระหว่างนั้น "เดสก์ท็อปเสมือนจริง" สามารถเปลี่ยนแปลงได้ วิวพอร์ตสามารถเปลี่ยนแปลงได้ แต่ละอันมีผลต่อพิกัดที่จะถูกกู้คืน

ปัญหาพิเศษคือการทำให้แน่ใจว่าไม่มีสิ่งใดถูกย้ายออกจากส่วนที่เข้าถึงได้ในปัจจุบันของ "หน้าจอ"


ในประเด็นด้านการเปิดหน้าต่างที่ด้านบนซ้าย: คุณสามารถเลือกหนึ่งในหลายอัลกอริทึมเพื่อตัดสินใจว่าจะวางหน้าต่างใหม่ในการตั้งค่าการจัดการหน้าต่าง (เช่นในccsm) ตัวอย่างเช่นคุณสามารถเปิดได้โดยที่ตัวชี้เมาส์ปัจจุบันอยู่


1

ในกรณีที่มีคนมาที่นี่และต้องการให้ windows เป็นที่ที่คุณวางไว้ - ติดตั้งเดสก์ท็อปตรัสรู้ คุณสามารถคลิกขวาที่ไอคอนด้านบนซ้ายของหน้าใดก็ได้เลือกหน้าต่างจำและเลือกขนาดและตำแหน่ง ฉันชอบตัวเลือกนั้นและเป็นหนึ่งในเหตุผลที่ฉันพักกับ e17


Enligihtmentเป็นเหมือน "การจดจำตำแหน่งหน้าต่าง" บนสเตอรอยด์
WinEunuuchs2Unix
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.