如何在 Awesome WM 配置中使用屏幕旋转?

l0b*_*0b0 9 configuration xrandr awesome

我正在使用xrandr脚本来设置屏幕大小和旋转。在这种情况下,一个屏幕处于横向模式,另一个屏幕旋转。如何在Awesome WM 配置中检测这种旋转?

目标是设置标签布局,以便沿着屏幕的短轴划分窗口。也就是说,awful.layout.suit.tile在横向模式下使用的标签将awful.layout.suit.tile.bottom在纵向模式下使用。也就是说,而不是这样:

在此处输入图片说明

我要这个:

在此处输入图片说明

plo*_*oth 5

今天这很容易。假设您在您的 中定义了以下布局rc.lua

awful.layout.layouts = {
    awful.layout.suit.tile,
    awful.layout.suit.tile.bottom,
}
Run Code Online (Sandbox Code Playgroud)

有了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)
Run Code Online (Sandbox Code Playgroud)