Como usar a rotação da tela na configuração Awesome WM?

9

Estou usando um xrandrscript para definir o tamanho e a rotação da tela. Nesse caso, uma tela está no modo paisagem e a outra é girada. Como posso detectar essa rotação na configuração do Awesome WM ?

O objetivo é definir o layout da tag para que as janelas sejam divididas ao longo do eixo curto da tela. Ou seja, uma tag usada awful.layout.suit.tileno modo paisagem usaria awful.layout.suit.tile.bottomno modo retrato. Ou seja, e não isso:

insira a descrição da imagem aqui

Eu quero isso:

insira a descrição da imagem aqui

l0b0
fonte

Respostas:

4

Hoje isso é bastante fácil. Supondo que você tenha os seguintes layouts definidos no seu rc.lua:

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

Com awful.screen.connect_for_each_screen(func)você, é possível chamar uma função para cada tela existente e criada no futuro. É muito provável que você já tenha uma chamada assim rc.lua(por exemplo, para definir o papel de parede ou criar tags). Dependendo da sua configuração, você precisa de algo como isto:

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
fonte
Muito obrigado por responder a uma pergunta de cinco anos! Sim, isso está me incomodando o tempo todo e sim, sua solução funcionou. Implementação real
l0b0 29/08/18