Постоянный размер окна для плавающих окон в awesomewm

Я изменяю размер плавающего окна, скажем, до некоторого размера пикселей WxH. Затем я переключаюсь в режим тайлинга, поэтому размер окна автоматически изменяется до нового размера, скажем, пикселей W'xH'. Теперь предположим, что я переключаю окно обратно в плавающий режим.

Что я хочу: размер окна автоматически изменяется до последнего размера, т. е. ШxВ.

Текущая ситуация: окно просто становится плавающим, но по-прежнему имеет размер W'xH'.

Есть ли способ сделать это? Например, каким-то образом мы можем сохранять размеры окна каждый раз, когда его размер изменяется, и всякий раз, когда окно переходит в плавающий режим, применять последний известный размер из этого приложения?

Я знаю, это, наверное, звучит очень глупо, мне очень жаль.


person Aditya De Saha    schedule 10.12.2019    source источник


Ответы (2)


Существует несколько способов. «Простой» способ — использовать client.connect("property::floating", function(c) if c.floating then restore(c) else save(c) end), где вы сами реализуете сохранение и восстановление, вызвав c:geometry().

Более продвинутый способ — использовать request::geometry и awful.placement встроенную поддержку геометрического сувенира. Это предпочтительнее, поскольку позволяет предотвратить мерцание клиента между двумя размерами. Однако его гораздо сложнее снять.

person Emmanuel Lepage Vallee    schedule 11.12.2019

Вы можете использовать awesome-remember-geometry от berlam.

https://github.com/berlam/awesome-remember-geometry

person anakha    schedule 04.05.2021