diff --git a/openbox/place.c b/openbox/place.c index e92ba632..341866c9 100644 --- a/openbox/place.c +++ b/openbox/place.c @@ -372,11 +372,13 @@ void place_client(ObClient *client, gint *x, gint *y) { if (client->positioned) return; - if (place_transient(client, x, y) || - place_dialog(client, x, y) || - place_smart(client, x, y, SMART_FULL) || - place_smart(client, x, y, SMART_GROUP) || - place_smart(client, x, y, SMART_FOCUSED) || + if (place_transient(client, x, y) || + place_dialog(client, x, y) || + (!(config_focus_follow && config_focus_new) ? + place_smart(client, x, y, SMART_FULL) || + place_smart(client, x, y, SMART_GROUP) || + place_smart(client, x, y, SMART_FOCUSED) : + FALSE) || (config_focus_follow ? place_under_mouse(client, x, y) : place_random(client, x, y)))