X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fdock.c;h=4c183e2c755f11793b94f5f1a3cbc38dcbc6a512;hb=07126124c9242a5a20883c3145464730e50afe94;hp=9d4b56c4706985807fa0554e2be5b2b9fc2e5f85;hpb=556eb7b7fb20b3b0db03b6d92259ad3bb16dccde;p=chaz%2Fopenbox diff --git a/openbox/dock.c b/openbox/dock.c index 9d4b56c4..4c183e2c 100644 --- a/openbox/dock.c +++ b/openbox/dock.c @@ -227,8 +227,10 @@ void dock_configure(void) 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; @@ -247,8 +249,10 @@ void dock_configure(void) } } - 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; @@ -361,51 +365,51 @@ void dock_configure(void) 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; @@ -414,8 +418,8 @@ void dock_configure(void) } 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; @@ -425,11 +429,12 @@ void dock_configure(void) 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) { @@ -527,9 +532,12 @@ void dock_configure(void) } 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();