diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-05-19 20:27:11 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-05-19 20:27:11 +0000 |
| commit | ea6d0e0d4d31d0d810fa752d04b702b3b599e3df (patch) | |
| tree | 1d33ceb0cc113c3062803fef5e78da2d8dc67006 | |
| parent | 40f2e19ef425a4f3228b2526a66f50562f383394 (diff) | |
get the size for all the apps before positioning them
| -rw-r--r-- | openbox/dock.c | 13 |
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; |
