summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
Diffstat (limited to 'openbox')
-rw-r--r--openbox/dock.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/openbox/dock.c b/openbox/dock.c
index 8e4d0efc..934d3d03 100644
--- a/openbox/dock.c
+++ b/openbox/dock.c
@@ -152,17 +152,26 @@ 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) {
dock->w += app->w;
dock->h = MAX(dock->h, app->h);
+ } else {
+ 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 {
- dock->w = MAX(dock->w, app->w);
- dock->h += app->h;
app->x = (dock->w - app->w) / 2;
app->y = spot;
spot += app->h;