วิธีใช้การหมุนหน้าจอในการกำหนดค่า WM ที่น่ากลัว?


9

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

เป้าหมายคือการตั้งค่าเลย์เอาต์แท็กเพื่อให้หน้าต่างถูกแบ่งตามแกนสั้นของหน้าจอ นั่นคือแท็กที่ใช้awful.layout.suit.tileในโหมดแนวนอนจะใช้awful.layout.suit.tile.bottomในโหมดแนวตั้ง นั่นคือมากกว่านี้:

ป้อนคำอธิบายรูปภาพที่นี่

ฉันต้องการสิ่งนี้:

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


4

วันนี้ค่อนข้างง่าย สมมติว่าคุณได้กำหนดเค้าโครงต่อไปนี้ในrc.lua:

awful.layout.layouts = {
    awful.layout.suit.tile,
    awful.layout.suit.tile.bottom,
}

ด้วยawful.screen.connect_for_each_screen(func)คุณสามารถเรียกใช้ฟังก์ชันสำหรับหน้าจอที่มีอยู่และสร้างขึ้นในอนาคต เป็นไปได้มากว่าคุณมีการโทรเข้ามาrc.luaแล้ว (ตัวอย่างเช่นตั้งค่าภาพพื้นหลังหรือสร้างแท็ก) ขึ้นอยู่กับการกำหนดค่าของคุณคุณต้องการสิ่งนี้:

awful.screen.connect_for_each_screen(function(s)
    if s.geometry.width >= s.geometry.height then
      awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" }, s, awful.layout.layouts[1])
    else
      awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" }, s, awful.layout.layouts[2])
    end
  end)

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