Google's chrome does this when you toggle window decorations.
Based on patch in #4250 by Daniel Erat.
static void client_get_desktop(ObClient *self);
static void client_get_state(ObClient *self);
static void client_get_shaped(ObClient *self);
-static void client_get_mwm_hints(ObClient *self);
static void client_get_colormap(ObClient *self);
static void client_set_desktop_recursive(ObClient *self,
guint target,
}
}
-static void client_get_mwm_hints(ObClient *self)
+void client_get_mwm_hints(ObClient *self)
{
guint num;
guint32 *hints;
/*! Sets the window's type and transient flag */
void client_get_type_and_transientness(ObClient *self);
+/*! Gets the motif wm hints */
+void client_get_mwm_hints(ObClient *self);
/*! Returns a client's icon set, or its parents (recursively) if it doesn't
have one
reconfigure the window if it needs to. emacs will update its
normal hints every time it receives a conigurenotify */
client_reconfigure(client, FALSE);
+ } else if (msgtype == prop_atoms.motif_wm_hints) {
+ client_get_mwm_hints(client);
+ /* This can override some mwm hints */
+ client_get_type_and_transientness(client);
+
+ /* Apply the changes to the window */
+ client_setup_decor_and_functions(client, TRUE);
} else if (msgtype == XA_WM_HINTS) {
client_update_wmhints(client);
} else if (msgtype == XA_WM_TRANSIENT_FOR) {