]> Dogcows Code - chaz/openbox/blobdiff - openbox/dock.c
remove non-planar surfaces
[chaz/openbox] / openbox / dock.c
index e17c8913b8e2f910bd6a75b553b92775bdf3ab63..934d3d03bcd8072390b4bb587a2c153df06b5ad4 100644 (file)
@@ -152,19 +152,28 @@ void dock_configure()
 
     dock->w = dock->h = spot = 0;
 
+    /* get the size */
     for (it = dock->dock_apps; it; it = it->next) {
         struct DockApp *app = it->data;
         if (config_dock_horz) {
-            app->x = spot;
-            app->y = 0;
             dock->w += app->w;
             dock->h = MAX(dock->h, app->h);
-            spot += app->w;
         } else {
-            app->x = 0;
-            app->y = spot;
             dock->w = MAX(dock->w, app->w);
             dock->h += app->h;
+        }
+    }
+
+    /* position the apps */
+    for (it = dock->dock_apps; it; it = it->next) {
+        struct DockApp *app = it->data;
+        if (config_dock_horz) {
+            app->x = spot;
+            app->y = (dock->h - app->h) / 2;
+            spot += app->w;
+        } else {
+            app->x = (dock->w - app->w) / 2;
+            app->y = spot;
             spot += app->h;
         }
 
This page took 0.019913 seconds and 4 git commands to generate.