Commit e2f9f35c authored by Vlad Zahorodnii's avatar Vlad Zahorodnii
Browse files

wayland: Check workspace position when preferred deco mode changes

This ensures that the window will have correct geometry if a maximized
window changes preferred decoration mode. X11Client does something
similar, see X11Client::updateShape().

In hindsight, perhaps, AbstractClient::{create,destroy}Decoration() must
preserve the old frame geometry, but it's not clear how to do that
because it requires decoration updates to be truly async, otherwise
there will be ugly flickering.


(cherry picked from commit 2560288e)
parent 15a30e75
...@@ -1317,7 +1317,7 @@ void XdgToplevelClient::installXdgDecoration(XdgToplevelDecorationV1Interface *d ...@@ -1317,7 +1317,7 @@ void XdgToplevelClient::installXdgDecoration(XdgToplevelDecorationV1Interface *d
connect(m_xdgDecoration, &XdgToplevelDecorationV1Interface::preferredModeChanged, this, [this] { connect(m_xdgDecoration, &XdgToplevelDecorationV1Interface::preferredModeChanged, this, [this] {
if (m_isInitialized) { if (m_isInitialized) {
// force is true as we must send a new configure response. // force is true as we must send a new configure response.
updateDecoration(/* check_workspace_pos */ false, /* force */ true); updateDecoration(/* check_workspace_pos */ true, /* force */ true);
} }
}); });
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment