]> Dogcows Code - chaz/openbox/blobdiff - openbox/place.c
a number for placing windows, to keep them on screen, but let you place them off...
[chaz/openbox] / openbox / place.c
index 37626231330c8637ca8ccb5f68d43a746241365b..9991196621018cfcf7bee2fc34d275fc14fb7b98 100644 (file)
@@ -411,8 +411,6 @@ static gboolean place_per_app_setting(ObClient *client, gint *x, gint *y,
     else
         *x = screen->x + settings->position.x;
 
-    ob_debug("x %d settings %d\n", *x, settings->position.x);
-
     if (settings->center_y)
         *y = screen->y + screen->height / 2 - client->area.height / 2;
     else if (settings->opposite_y)
@@ -480,6 +478,7 @@ gboolean place_client(ObClient *client, gint *x, gint *y,
                       ObAppSettings *settings)
 {
     gboolean ret;
+    gboolean userplaced = FALSE;
 
     /* per-app settings override program specified position
      * but not user specified */
@@ -490,7 +489,7 @@ gboolean place_client(ObClient *client, gint *x, gint *y,
 
     /* try a number of methods */
     ret = place_transient_splash(client, x, y) ||
-        place_per_app_setting(client, x, y, settings) ||
+        (userplaced = place_per_app_setting(client, x, y, settings)) ||
         (config_place_policy == OB_PLACE_POLICY_MOUSE &&
          place_under_mouse(client, x, y)) ||
         place_nooverlap(client, x, y) ||
@@ -499,5 +498,5 @@ gboolean place_client(ObClient *client, gint *x, gint *y,
 
     /* get where the client should be */
     frame_frame_gravity(client->frame, x, y);
-    return ret;
+    return !userplaced;
 }
This page took 0.024171 seconds and 4 git commands to generate.