- switch (e->xconfigurerequest.detail) {
- case Below:
- ob_debug("ConfigureRequest Below for client %s sibling %s\n",
- client->title, sibling ? sibling->title : "(all)");
- /* just lower it */
- stacking_lower(CLIENT_AS_WINDOW(client));
- break;
- case BottomIf:
- ob_debug("ConfigureRequest BottomIf for client %s sibling "
- "%s\n",
- client->title, sibling ? sibling->title : "(all)");
- /* if this client occludes sibling (or anything if NULL), then
- lower it to the bottom */
- if (stacking_occluded(sibling, client))
- stacking_lower(CLIENT_AS_WINDOW(client));
- break;
- case Above:
- ob_debug("ConfigureRequest Above for client %s sibling %s\n",
- client->title, sibling ? sibling->title : "(all)");
- /* activate it rather than just focus it */
- client_activate(client, FALSE, FALSE);
- break;
- case TopIf:
- ob_debug("ConfigureRequest TopIf for client %s sibling %s\n",
- client->title, sibling ? sibling->title : "(all)");
- if (stacking_occluded(client, sibling))
- /* activate it rather than just focus it */
- client_activate(client, FALSE, FALSE);
- case Opposite:
- ob_debug("ConfigureRequest Opposite for client %s sibling "
- "%s\n",
- client->title, sibling ? sibling->title : "(all)");
- if (stacking_occluded(client, sibling))
- /* activate it rather than just focus it */
- client_activate(client, FALSE, FALSE);
- else if (stacking_occluded(sibling, client))
- stacking_lower(CLIENT_AS_WINDOW(client));
- default:
- break;
- }