+ break;
+ case OB_DIRECTION_EAST:
+ dock->x += dock->w - ob_rr_theme->bwidth;
+ break;
+ case OB_DIRECTION_SOUTHWEST:
+ switch (config_dock_orient) {
+ case OB_ORIENTATION_HORZ:
+ dock->y += dock->h - ob_rr_theme->bwidth;
+ break;
+ case OB_ORIENTATION_VERT:
+ dock->x -= dock->w - ob_rr_theme->bwidth;
+ break;
+ } break;
+ case OB_DIRECTION_SOUTH:
+ dock->y += dock->h - ob_rr_theme->bwidth;
+ break;
+ case OB_DIRECTION_SOUTHEAST:
+ switch (config_dock_orient) {
+ case OB_ORIENTATION_HORZ:
+ dock->y += dock->h - ob_rr_theme->bwidth;
+ break;
+ case OB_ORIENTATION_VERT:
+ dock->x += dock->w - ob_rr_theme->bwidth;
+ break;
+ }
+ break;
+ }
+ }
+ }
+
+ if (!config_dock_floating && config_dock_hide) {
+ strw = ob_rr_theme->bwidth;
+ strh = ob_rr_theme->bwidth;
+ } else {
+ strw = dock->w;
+ strh = dock->h;
+ }
+
+ /* set the strut */
+ if (config_dock_floating) {
+ STRUT_PARTIAL_SET(dock_strut, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0);
+ } else {
+ switch (config_dock_pos) {
+ case OB_DIRECTION_NORTHWEST:
+ switch (config_dock_orient) {
+ case OB_ORIENTATION_HORZ:
+ STRUT_PARTIAL_SET(dock_strut, 0, strh, 0, 0,
+ 0, 0, dock->x, dock->x + dock->w - 1,
+ 0, 0, 0, 0);
+ break;
+ case OB_ORIENTATION_VERT:
+ STRUT_PARTIAL_SET(dock_strut, strw, 0, 0, 0,
+ dock->y, dock->y + dock->h - 1,
+ 0, 0, 0, 0, 0, 0);
+ break;
+ }