¿Cómo usar la rotación de pantalla en la configuración Awesome WM?

9

Estoy usando un xrandrscript para establecer el tamaño y la rotación de la pantalla. En este caso, una pantalla está en modo horizontal y la otra está girada. ¿Cómo puedo detectar esta rotación en la configuración Awesome WM ?

El objetivo es establecer el diseño de la etiqueta para que las ventanas se dividan a lo largo del eje corto de la pantalla. Es decir, una etiqueta que se usa awful.layout.suit.tileen modo horizontal se usaría awful.layout.suit.tile.bottomen modo vertical. Es decir, en lugar de esto:

ingrese la descripción de la imagen aquí

Quiero esto:

ingrese la descripción de la imagen aquí

l0b0
fuente

Respuestas:

4

Hoy esto es bastante fácil. Suponiendo que tiene los siguientes diseños definidos en su rc.lua:

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

Con awful.screen.connect_for_each_screen(func)usted puede llamar a una función para cada pantalla existente y creada en el futuro. Es muy probable que ya tenga una llamada de ese tipo rc.lua(por ejemplo, para configurar el fondo de pantalla o crear etiquetas). Dependiendo de su configuración, necesita algo como esto:

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)
tela
fuente
¡Muchas gracias por responder una pregunta de cinco años! Sí, me ha estado molestando todo este tiempo, y sí, su solución funcionó. Implementación real
l0b0