Изменение размера окна по вертикали
Я пытаюсь сопоставить мои удивительные ярлыки wm, похожие на tmux. Мне нравится сочетание tmux alt + arrow для изменения размера панели в любом измерении. Я знаю, что awesome awful.tag.incmwfact()
функция будет работать вертикально или горизонтально в зависимости от макета. Тем не менее, мне также нужна функция, которая изменяет размеры в другом измерении под тем же самым макетом. Это было бы полезно для максимизации одного из меньших окон по вертикали без вторжения в пространство самого большого окна на другой половине экрана:
+----------+----------+
| | |
| | ^ |
| +-----|----+
| | v |
| | |
+----------+----------+
Я нашел функцию awful.client.moveresize()
, но она работает только в плавающей макете. Я знаю, что это выполнимо, так как я могу изменить размер окон с помощью мыши, даже в макетах. Я просто не знаю, к какой функции подключается мышь.
Ответы
Ответ 1
Подумайте об этом, разместив ответ для других, которым нужна эта функциональность:
awful.key({ modkey, "Mod1" }, "Right", function () awful.tag.incmwfact( 0.01) end),
awful.key({ modkey, "Mod1" }, "Left", function () awful.tag.incmwfact(-0.01) end),
awful.key({ modkey, "Mod1" }, "Down", function () awful.client.incwfact( 0.01) end),
awful.key({ modkey, "Mod1" }, "Up", function () awful.client.incwfact(-0.01) end),
В принципе, вместо тега incmwfact
используйте собственную incwfact
функцию клиента. Кроме того, это будет работать только в макетах с черепицей, при плавании это вызовет ошибку.
Ответ 2
С помощью Awesome версии 4 поставьте следующее в разделе clientkeys
rc.lua
.
Чтобы переместить окна с помощью mod + shift + ←/↓/↑/→
awful.key({ modkey, "Shift" }, "Down", function (c) c:relative_move( 0, 20, 0, 0) end),
awful.key({ modkey, "Shift" }, "Up", function (c) c:relative_move( 0, -20, 0, 0) end),
awful.key({ modkey, "Shift" }, "Left", function (c) c:relative_move(-20, 0, 0, 0) end),
awful.key({ modkey, "Shift" }, "Right", function (c) c:relative_move( 20, 0, 0, 0) end),
В изменить размер с помощью mod + shift + PgUp/PgDn
awful.key({ modkey, "Shift" }, "Next", function (c) c:relative_move( 20, 20, -40, -40) end),
awful.key({ modkey, "Shift" }, "Prior", function (c) c:relative_move(-20, -20, 40, 40) end),