Як використовувати обертання екрана в Awesome WM-конфігурації?


9

Я використовую xrandrсценарій для встановлення розміру та обертання екрана. У цьому випадку один екран знаходиться в альбомному режимі, а другий повертається. Як я можу виявити це обертання в Awesome WM-конфігурації ?

Мета - встановити макет тегів так, щоб вікна були розділені уздовж короткої осі екрана. Тобто тег, який використовується awful.layout.suit.tileв ландшафтному режимі, буде використовуватися awful.layout.suit.tile.bottomв портретному режимі. Тобто, а не це:

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

Я хочу це:

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

Відповіді:


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)

Дуже дякую за відповідь на запитання п'яти років! Так, він мене весь цей час клопоче, і так, ваше рішення спрацювало. Фактична реалізація
l0b0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.