首页 > 解决方案 > awesomewm 中浮动窗口的持久窗口大小

问题描述

我调整了一个浮动窗口的大小,比如说一些大小 WxH 像素。然后我更改为平铺模式,因此窗口会自动调整为某个新大小,比如说 W'xH' 像素。现在假设我将窗口切换回浮动模式。

我想要什么:窗口自动调整为最后一个大小,即 WxH。

当前情况:窗口刚刚变为浮动,但仍具有 W'xH' 大小。

有什么办法可以做到这一点?就像我们可以在每次调整窗口大小时保存窗口的尺寸一样,每当窗口进入浮动模式时,应用该应用程序的最后一个已知大小?

我知道这听起来可能很愚蠢,我很抱歉。

标签: awesome-wm

解决方案


有多种方法。“简单”的方法是client.connect("property::floating", function(c) if c.floating then restore(c) else save(c) end)在你实现保存和恢复的地方调用c:geometry().

更高级的方法是使用request::geometryawful.placement内置几何纪念品支持。这是首选,因为它可以防止客户端在 2 种尺寸之间闪烁。然而,它的实现要复杂得多。


推荐阅读