return occluded;
}
-/*! Returns TRUE if client is occludes the sibling. If sibling is NULL it tries
+/*! Returns TRUE if client occludes the sibling. If sibling is NULL it tries
against all other clients.
*/
static gboolean stacking_occludes(ObClient *client, ObClient *sibling)
return occludes;
}
-void stacking_restack_request(ObClient *client, ObClient *sibling,
- gint detail, gboolean activate)
+gboolean stacking_restack_request(ObClient *client, ObClient *sibling,
+ gint detail, gboolean activate)
{
switch (detail) {
case Below:
lower it to the bottom */
if (stacking_occludes(client, sibling))
stacking_lower(CLIENT_AS_WINDOW(client));
+ else
+ return FALSE;
break;
case Above:
ob_debug("Restack request Above for client %s sibling %s\n",
client_activate(client, FALSE, TRUE);
else
stacking_raise(CLIENT_AS_WINDOW(client));
- }
+ } else
+ return FALSE;
break;
case Opposite:
ob_debug("Restack request Opposite for client %s sibling "
stacking_lower(CLIENT_AS_WINDOW(client));
break;
}
+ return TRUE;
}