垂直调整窗口大小

时间:2013-07-17 16:59:49

标签: awesome-wm

编辑:这个问题/答案是从2013年开始的,当Awesome仍然在版本3.4 / 3.5时,自那时以来很多都发生了变化,因为Awesome在版本4+中被重写了,你现在看到的可能会有所不同。我正在添加此免责声明,因为我看到了针对此问题的新回复/观看次数。

我正在尝试映射类似于tmux的令人敬畏的wm快捷方式。我喜欢tmux的alt +箭头组合来调整任一维度中的窗格大小。我知道真棒的awful.tag.incmwfact()功能可以垂直或水平工作,具体取决于布局。但是,我也想要一个在相同布局下在另一个维度上调整大小的函数。这对于垂直最大化其中一个较小的窗口而不侵入屏幕另一半上最大窗口的空间非常有用:

+----------+----------+
|          |          |
|          |     ^    |
|          +-----|----+
|          |     v    |
|          |          |
+----------+----------+

我也找到了awful.client.moveresize()函数,但它似乎只能在浮动布局中工作。我知道这是可行的,因为我可以用鼠标调整窗口大小,即使在平铺布局中也是如此。我只是不知道鼠标挂钩的功能。

4 个答案:

答案 0 :(得分:22)

想出来,为其他需要此功能的人发布答案:

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。此外,这仅适用于平铺布局,浮动时会导致错误气泡。

答案 1 :(得分:3)

使用Awesome版本4,将以下内容放在clientkeys的{​​{1}}部分。

移动窗口 mod + shift + / / /

rc.lua

调整大小窗口 mod + shift + PgUp / PgDn < / p>

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),

答案 2 :(得分:2)

Modkey + h或l调整平铺大小。

答案 3 :(得分:0)

这是一个老问题,但对很棒的新手很有帮助。要调整窗口大小,您可以按:

alt + shift + h

alt + shift + l