Bagaimana cara menggunakan rotasi layar dalam konfigurasi WM Luar Biasa?

9

Saya menggunakan xrandrskrip untuk mengatur ukuran dan rotasi layar. Dalam hal ini satu layar dalam mode lansekap dan yang lainnya diputar. Bagaimana saya bisa mendeteksi rotasi ini dalam konfigurasi WM yang mengagumkan ?

Tujuannya adalah untuk mengatur tata letak tag sehingga jendela dibagi sepanjang sumbu pendek layar. Artinya, tag yang digunakan awful.layout.suit.tiledalam mode lansekap akan digunakan awful.layout.suit.tile.bottomdalam mode potret. Yaitu, bukan ini:

masukkan deskripsi gambar di sini

Saya ingin ini:

masukkan deskripsi gambar di sini

l0b0
sumber

Jawaban:

4

Hari ini ini agak mudah. Asumsikan Anda memiliki tata letak berikut yang ditentukan di rc.lua:

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

Dengan awful.screen.connect_for_each_screen(func)Anda dapat memanggil fungsi untuk setiap layar yang ada dan dibuat di masa depan. Sangat mungkin Anda memiliki panggilan semacam itu di telepon Anda rc.lua(misalnya untuk mengatur wallpaper atau membuat tag). Bergantung pada konfigurasi Anda, Anda memerlukan sesuatu seperti ini:

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)
ploth
sumber
Terima kasih banyak untuk menjawab pertanyaan lima tahun yang lalu! Ya, ini telah mengganggu saya selama ini, dan ya, solusi Anda berhasil. Implementasi aktual
l0b0