+ if (!config_dock_floating) {
+ switch (config_dock_pos) {
+ case OB_DIRECTION_NORTHWEST:
+ switch (config_dock_orient) {
+ case OB_ORIENTATION_HORZ:
+ dock->area.y -= dock->area.height - ob_rr_theme->obwidth;
+ break;
+ case OB_ORIENTATION_VERT:
+ dock->area.x -= dock->area.width - ob_rr_theme->obwidth;
+ break;
+ }
+ break;
+ case OB_DIRECTION_NORTH:
+ dock->area.y -= dock->area.height - ob_rr_theme->obwidth;
+ break;
+ case OB_DIRECTION_NORTHEAST:
+ switch (config_dock_orient) {
+ case OB_ORIENTATION_HORZ:
+ dock->area.y -= dock->area.height - ob_rr_theme->obwidth;
+ break;
+ case OB_ORIENTATION_VERT:
+ dock->area.x += dock->area.width - ob_rr_theme->obwidth;
+ break;
+ }
+ break;
+ case OB_DIRECTION_WEST:
+ dock->area.x -= dock->area.width - ob_rr_theme->obwidth;
+ break;
+ case OB_DIRECTION_EAST:
+ dock->area.x += dock->area.width - ob_rr_theme->obwidth;
+ break;
+ case OB_DIRECTION_SOUTHWEST:
+ switch (config_dock_orient) {
+ case OB_ORIENTATION_HORZ:
+ dock->area.y += dock->area.height - ob_rr_theme->obwidth;
+ break;
+ case OB_ORIENTATION_VERT:
+ dock->area.x -= dock->area.width - ob_rr_theme->obwidth;
+ break;
+ } break;
+ case OB_DIRECTION_SOUTH:
+ dock->area.y += dock->area.height - ob_rr_theme->obwidth;
+ break;
+ case OB_DIRECTION_SOUTHEAST:
+ switch (config_dock_orient) {
+ case OB_ORIENTATION_HORZ:
+ dock->area.y += dock->area.height - ob_rr_theme->obwidth;
+ break;
+ case OB_ORIENTATION_VERT:
+ dock->area.x += dock->area.width - ob_rr_theme->obwidth;
+ break;
+ }
+ break;
+ }
+ }
+ }
+
+ if (!config_dock_floating && config_dock_hide) {
+ strw = ob_rr_theme->obwidth;
+ strh = ob_rr_theme->obwidth;
+ } else {
+ strw = dock->area.width;
+ strh = dock->area.height;
+ }
+
+ /* set the strut */
+ if (!dock->dock_apps) {
+ STRUT_PARTIAL_SET(dock_strut, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0);
+ } else if (config_dock_floating || config_dock_nostrut)
+ {
+ STRUT_PARTIAL_SET(dock_strut, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0);
+ } else {