gint l, r, t, b;
gint strw, strh;
Rect *a;
+ gint hidesize;
RrMargins(dock->a_frame, &l, &t, &r, &b);
+ hidesize = MAX(1, ob_rr_theme->obwidth);
dock->area.width = dock->area.height = 0;
}
}
- dock->area.width += l + r;
- dock->area.height += t + b;
+ if (dock->dock_apps) {
+ dock->area.width += l + r;
+ dock->area.height += t + b;
+ }
hspot = l;
vspot = t;
case OB_DIRECTION_NORTHWEST:
switch (config_dock_orient) {
case OB_ORIENTATION_HORZ:
- dock->area.y -= dock->area.height - ob_rr_theme->obwidth;
+ dock->area.y -= dock->area.height - hidesize;
break;
case OB_ORIENTATION_VERT:
- dock->area.x -= dock->area.width - ob_rr_theme->obwidth;
+ dock->area.x -= dock->area.width - hidesize;
break;
}
break;
case OB_DIRECTION_NORTH:
- dock->area.y -= dock->area.height - ob_rr_theme->obwidth;
+ dock->area.y -= dock->area.height - hidesize;
break;
case OB_DIRECTION_NORTHEAST:
switch (config_dock_orient) {
case OB_ORIENTATION_HORZ:
- dock->area.y -= dock->area.height - ob_rr_theme->obwidth;
+ dock->area.y -= dock->area.height - hidesize;
break;
case OB_ORIENTATION_VERT:
- dock->area.x += dock->area.width - ob_rr_theme->obwidth;
+ dock->area.x += dock->area.width - hidesize;
break;
}
break;
case OB_DIRECTION_WEST:
- dock->area.x -= dock->area.width - ob_rr_theme->obwidth;
+ dock->area.x -= dock->area.width - hidesize;
break;
case OB_DIRECTION_EAST:
- dock->area.x += dock->area.width - ob_rr_theme->obwidth;
+ dock->area.x += dock->area.width - hidesize;
break;
case OB_DIRECTION_SOUTHWEST:
switch (config_dock_orient) {
case OB_ORIENTATION_HORZ:
- dock->area.y += dock->area.height - ob_rr_theme->obwidth;
+ dock->area.y += dock->area.height - hidesize;
break;
case OB_ORIENTATION_VERT:
- dock->area.x -= dock->area.width - ob_rr_theme->obwidth;
+ dock->area.x -= dock->area.width - hidesize;
break;
} break;
case OB_DIRECTION_SOUTH:
- dock->area.y += dock->area.height - ob_rr_theme->obwidth;
+ dock->area.y += dock->area.height - hidesize;
break;
case OB_DIRECTION_SOUTHEAST:
switch (config_dock_orient) {
case OB_ORIENTATION_HORZ:
- dock->area.y += dock->area.height - ob_rr_theme->obwidth;
+ dock->area.y += dock->area.height - hidesize;
break;
case OB_ORIENTATION_VERT:
- dock->area.x += dock->area.width - ob_rr_theme->obwidth;
+ dock->area.x += dock->area.width - hidesize;
break;
}
break;
}
if (!config_dock_floating && config_dock_hide) {
- strw = ob_rr_theme->obwidth;
- strh = ob_rr_theme->obwidth;
+ strw = hidesize;
+ strh = hidesize;
} else {
strw = dock->area.width;
strh = dock->area.height;
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)
- {
+ }
+ 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 {
+ }
+ else {
switch (config_dock_pos) {
case OB_DIRECTION_NORTHWEST:
switch (config_dock_orient) {
} else
XUnmapWindow(ob_display, dock->frame);
- /* but they are useful outside of this function! */
- dock->area.width += ob_rr_theme->obwidth * 2;
- dock->area.height += ob_rr_theme->obwidth * 2;
+ /* but they are useful outside of this function! but don't add it if the
+ dock is actually not visible */
+ if (dock->dock_apps) {
+ dock->area.width += ob_rr_theme->obwidth * 2;
+ dock->area.height += ob_rr_theme->obwidth * 2;
+ }
screen_update_areas();