From: Mikael Magnusson Date: Sun, 6 Feb 2005 01:54:21 +0000 (+0000) Subject: test + not wrong X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=64772cc6d85ba852dbdae8f1b148db1215bbc7d8;p=chaz%2Fopenbox test + not wrong --- diff --git a/openbox/place.c b/openbox/place.c index a098921d..29d58734 100644 --- a/openbox/place.c +++ b/openbox/place.c @@ -375,10 +375,13 @@ static gboolean place_transient(ObClient *client, gint *x, gint *y) void place_client(ObClient *client, gint *x, gint *y) { - gint rude = 1; + /* non-normal clients has less rules, and windows that are being restored + * from a session do also. we can assume you want it back where you + * saved it */ + gint rude = client_normal(client) && !client->session; if (client->positioned) rude = 0; - if (place_transient(client, x, y) || + else if (place_transient(client, x, y) || ((config_place_policy == OB_PLACE_POLICY_MOUSE) ? place_under_mouse(client, x, y) : place_smart(client, x, y, SMART_FULL) || @@ -386,17 +389,13 @@ void place_client(ObClient *client, gint *x, gint *y) place_smart(client, x, y, SMART_FOCUSED) || place_random(client, x, y))) { - /* make sure the window is visible. */ - client_find_onscreen(client, x, y, - client->frame->area.width, - client->frame->area.height, - /* non-normal clients has less rules, and - windows that are being restored from a session - do also. we can assume you want it back where - you saved it */ - client_normal(client) && !client->session); /* get where the client should be */ frame_frame_gravity(client->frame, x, y); } else g_assert_not_reached(); /* the last one better succeed */ + /* make sure the window is visible. */ + client_find_onscreen(client, x, y, + client->frame->area.width, + client->frame->area.height, + rude); }