X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=23a834b51162f61484045b68a21753155189ab28;hb=411cc1d1d9e0c7ad07fe6bce548ccf101a2f4c7a;hp=a1a09c301e67a31b418c22295606e00f6141dbe5;hpb=9f03493b0c3d2815625bbcc51ac4da5b72450b69;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index a1a09c30..23a834b5 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -674,22 +674,16 @@ static void event_handle_client(ObClient *client, XEvent *e) if (client != focus_client) { focus_set_client(client); frame_adjust_focus(client->frame, TRUE); + client_calc_layer(client); } break; case FocusOut: #ifdef DEBUG_FOCUS ob_debug("FocusOut on client for %lx\n", client->window); #endif - /* are we a fullscreen window or a transient of one? (checks layer) - if we are then we need to be iconified since we are losing focus - */ - if (client->layer == OB_STACKING_LAYER_FULLSCREEN && !client->iconic && - !client_search_focus_tree_full(client)) - /* iconify fullscreen windows when they and their transients - aren't focused */ - client_iconify(client, TRUE, TRUE); frame_adjust_focus(client->frame, FALSE); - break; + client_calc_layer(client); + break; case LeaveNotify: con = frame_context(client, e->xcrossing.window); switch (con) { @@ -868,14 +862,14 @@ static void event_handle_client(ObClient *client, XEvent *e) switch (e->xconfigurerequest.detail) { case Below: case BottomIf: - stacking_lower(CLIENT_AS_WINDOW(client)); - break; + action_run_string("Lower", client); + break; case Above: case TopIf: default: - stacking_raise(CLIENT_AS_WINDOW(client)); - break; + action_run_string("Raise", client); + break; } } break;