Comment utiliser la rotation d'écran dans la configuration Awesome WM?

9

J'utilise un xrandrscript pour définir la taille et la rotation de l'écran. Dans ce cas, un écran est en mode paysage et l'autre est tourné. Comment puis-je détecter cette rotation dans la configuration Awesome WM ?

L'objectif est de définir la disposition des balises afin que les fenêtres soient divisées le long de l'axe court de l'écran. Autrement dit, une balise qui utilise awful.layout.suit.tileen mode paysage utiliserait awful.layout.suit.tile.bottomen mode portrait. Autrement dit, plutôt que ceci:

entrez la description de l'image ici

Je veux ceci:

entrez la description de l'image ici

l0b0
la source

Réponses:

4

Aujourd'hui, c'est plutôt facile. En supposant que les dispositions suivantes soient définies dans votre rc.lua:

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

Avec awful.screen.connect_for_each_screen(func)vous pouvez appeler une fonction pour chaque écran existant et créé dans le futur. Il est très probable que vous ayez déjà un tel appel dans votre rc.lua(par exemple pour définir le fond d'écran ou créer des balises). Selon votre configuration, vous avez besoin de quelque chose comme ceci:

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
la source
Merci beaucoup d'avoir répondu à une question de cinq ans! Oui, ça m'a mis sur écoute pendant tout ce temps, et oui, votre solution a fonctionné.
Mise en