Как использовать поворот экрана в конфигурации Awesome WM?

9

Я использую xrandrскрипт для установки размера экрана и поворота. В этом случае один экран находится в ландшафтном режиме, а другой поворачивается. Как я могу обнаружить это вращение в конфигурации Awesome WM ?

Цель состоит в том, чтобы установить расположение тегов так, чтобы окна были разделены вдоль короткой оси экрана. То есть тег, который использует awful.layout.suit.tileв альбомном режиме, будет использовать awful.layout.suit.tile.bottomв портретном режиме. То есть, а не это:

введите описание изображения здесь

Я хочу этот:

введите описание изображения здесь

l0b0
источник

Ответы:

4

Сегодня это довольно просто. Предполагая, что у вас есть следующие макеты, определенные в вашем rc.lua:

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

С 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)
ploth
источник
Большое спасибо за ответ на пятилетний вопрос! Да, это все время меня беспокоило, и да, ваше решение сработало. Фактическая реализация
10