Commit e1cbe04b authored by Olivier Fourdan's avatar Olivier Fourdan 🛠

client: Complete client state even on different workspaces

When a client is restored from session management and ends up on
another, non visible workspace, xfwm4 would simply not show it.

But that's not sufficient, when the client is eventually shown on
workspace switch, the client window would end up in a weird state,
marked as "IsViewable" and showing reparented in "xwininfo -tree", yet
xprop would still return the properties from the WM parent window which
has no property set.

Many X11 mechanisms, including drag and drop, rely on X11 properties and
those would simply fail when that happens.

Make sure to complete the client frame even for windows placed on a
separate workspace, the clientShow() will eventually take care of not
making those visible, but the client window will be in a correct state.
Signed-off-by: Olivier Fourdan's avatarOlivier Fourdan <fourdan@xfce.org>
Closes: #469
parent e4f9cdc0
Pipeline #4849 passed with stages
in 2 minutes and 58 seconds
......@@ -2021,8 +2021,8 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
else
{
clientRaise (c, None);
clientShow (c, TRUE);
clientInitFocusFlag (c);
clientSetNetActions (c);
}
}
else
......
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