wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit c243337350a0b9d77f234c2b14c2e890c436d288
parent 54b7d6dd2a3dfe24d619914b179a96a8bc129c43
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Sun,  5 Mar 2006 00:38:40 +0100

removed bh/bw occurences (go rid of code)


Diffstat:
cmd/wm/client.c | 62++++++++++++++++++++++----------------------------------------
cmd/wm/event.c | 23++++++++---------------
cmd/wm/mouse.c | 24++++++++++--------------
cmd/wm/wm.h | 2+-
4 files changed, 41 insertions(+), 70 deletions(-)

diff --git a/cmd/wm/client.c b/cmd/wm/client.c @@ -16,7 +16,6 @@ alloc_client(Window w, XWindowAttributes *wa) XTextProperty name; Client *c = (Client *) cext_emallocz(sizeof(Client)); XSetWindowAttributes fwa; - int bw = def.border, bh; long msize; static unsigned short id = 1; @@ -43,10 +42,9 @@ alloc_client(Window w, XWindowAttributes *wa) fwa.background_pixmap = ParentRelative; fwa.event_mask = SubstructureRedirectMask | ExposureMask | ButtonPressMask | PointerMotionMask; - bh = bar_height(); c->frect = c->rect; - c->frect.width += 2 * bw; - c->frect.height += bw + (bh ? bh : bw); + c->frect.width += 2 * def.border; + c->frect.height += def.border + bar_height(); c->framewin = XCreateWindow(dpy, root, c->frect.x, c->frect.y, c->frect.width, c->frect.height, 0, DefaultDepth(dpy, screen), CopyFromParent, @@ -241,9 +239,6 @@ void draw_client(Client *c) { Draw d = { 0 }; - unsigned int bh = bar_height(); - unsigned int bw = def.border; - XRectangle notch; d.align = WEST; d.drawable = c->framewin; @@ -256,27 +251,16 @@ draw_client(Client *c) d.color = def.norm; /* draw border */ - if(bw) { - notch.x = bw; - notch.y = bw; - notch.width = c->frect.width - 2 * bw; - notch.height = c->frect.height - 2 * bw; + if(def.border) { d.rect = c->frect; - d.rect.x = d.rect.y = 0; - d.notch = &notch; - + d.rect.x = d.rect.y = 0; + d.notch = &c->rect; blitz_drawlabel(dpy, &d); } - XSync(dpy, False); - - /* draw bar */ - if(!bh) - return; - d.rect.x = 0; d.rect.y = 0; d.rect.width = c->frect.width; - d.rect.height = bh; + d.rect.height = bar_height(); d.notch = nil; d.data = c->name; blitz_drawlabel(dpy, &d); @@ -284,7 +268,7 @@ draw_client(Client *c) } void -gravitate(Client * c, unsigned int tabh, unsigned int bw, int invert) +gravitate(Client *c, Bool invert) { int dx = 0, dy = 0; int gravity = NorthWestGravity; @@ -298,19 +282,19 @@ gravitate(Client * c, unsigned int tabh, unsigned int bw, int invert) case NorthWestGravity: case NorthGravity: case NorthEastGravity: - dy = tabh; + dy = bar_height(); break; case EastGravity: case CenterGravity: case WestGravity: - dy = -(c->rect.height / 2) + tabh; + dy = -(c->rect.height / 2) + bar_height(); break; case SouthEastGravity: case SouthGravity: case SouthWestGravity: dy = -c->rect.height; break; - default: /* don't care */ + default: break; } @@ -320,19 +304,19 @@ gravitate(Client * c, unsigned int tabh, unsigned int bw, int invert) case NorthWestGravity: case WestGravity: case SouthWestGravity: - dx = bw; + dx = def.border; break; case NorthGravity: case CenterGravity: case SouthGravity: - dx = -(c->rect.width / 2) + bw; + dx = -(c->rect.width / 2) + def.border; break; case NorthEastGravity: case EastGravity: case SouthEastGravity: - dx = -(c->rect.width + bw); + dx = -(c->rect.width + def.border); break; - default: /* don't care */ + default: break; } @@ -415,7 +399,7 @@ win2clientframe(Window w) } static void -match_sizehints(Client *c, unsigned int tabh, unsigned int bw) +match_sizehints(Client *c) { XSizeHints *s = &c->size; @@ -444,11 +428,11 @@ match_sizehints(Client *c, unsigned int tabh, unsigned int bw) h = c->size.min_height; } /* client_width = base_width + i * c->size.width_inc for an integer i */ - w = c->frect.width - 2 * bw - w; + w = c->frect.width - 2 * def.border - w; if(s->width_inc > 0) c->frect.width -= w % s->width_inc; - h = c->frect.height - bw - (tabh ? tabh : bw) - h; + h = c->frect.height - def.border - bar_height() - h; if(s->height_inc > 0) c->frect.height -= h % s->height_inc; } @@ -457,8 +441,6 @@ match_sizehints(Client *c, unsigned int tabh, unsigned int bw) void resize_client(Client *c, XRectangle *r, XPoint *pt, Bool ignore_xcall) { - unsigned int bh = bar_height(); - unsigned int bw = def.border; int pi = tag2index(c->area->tag); int px = sel * rect.width; @@ -469,17 +451,17 @@ resize_client(Client *c, XRectangle *r, XPoint *pt, Bool ignore_xcall) c->frect = *r; if((c->area->mode != Colstack) || (c->area->sel == client2index(c))) - match_sizehints(c, bh, bw); + match_sizehints(c); if(!ignore_xcall) XMoveResizeWindow(dpy, c->framewin, px - (pi * rect.width) + c->frect.x, c->frect.y, c->frect.width, c->frect.height); if((c->area->mode != Colstack) || (c->area->sel == client2index(c))) { - c->rect.x = bw; - c->rect.y = bh ? bh : bw; - c->rect.width = c->frect.width - 2 * bw; - c->rect.height = c->frect.height - bw - (bh ? bh : bw); + c->rect.x = def.border; + c->rect.y = bar_height(); + c->rect.width = c->frect.width - 2 * def.border; + c->rect.height = c->frect.height - def.border - bar_height(); XMoveResizeWindow(dpy, c->win, c->rect.x, c->rect.y, c->rect.width, c->rect.height); configure_client(c); } diff --git a/cmd/wm/event.c b/cmd/wm/event.c @@ -126,18 +126,12 @@ handle_configurerequest(XEvent *e) XConfigureRequestEvent *ev = &e->xconfigurerequest; XWindowChanges wc; Client *c; - unsigned int bw = 0, bh = 0; c = win2client(ev->window); ev->value_mask &= ~CWSibling; if(c) { - if(c->area) { - bw = def.border; - bh = bar_height(); - } - - gravitate(c, bh ? bh : bw, bw, 1); + gravitate(c, True); if(ev->value_mask & CWX) c->rect.x = ev->x; @@ -150,13 +144,13 @@ handle_configurerequest(XEvent *e) if(ev->value_mask & CWBorderWidth) c->border = ev->border_width; - gravitate(c, bh ? bh : bw, bw, 0); + gravitate(c, False); if(c->area) { - c->frect.x = wc.x = c->rect.x - bw; - c->frect.y = wc.y = c->rect.y - (bh ? bh : bw); - c->frect.width = wc.width = c->rect.width + 2 * bw; - c->frect.height = wc.height = c->rect.height + bw + (bh ? bh : bw); + c->frect.x = wc.x = c->rect.x - def.border; + c->frect.y = wc.y = c->rect.y - bar_height(); + c->frect.width = wc.width = c->rect.width + 2 * def.border; + c->frect.height = wc.height = c->rect.height + def.border + bar_height(); wc.border_width = 1; wc.sibling = None; wc.stack_mode = ev->detail; @@ -168,9 +162,8 @@ handle_configurerequest(XEvent *e) wc.x = ev->x; wc.y = ev->y; if(c && c->area) { - /* if so, then bw and bh are already initialized */ - wc.x = bw; - wc.y = (bh ? bh : bw); + wc.x = def.border; + wc.y = bar_height(); } wc.width = ev->width; wc.height = ev->height; diff --git a/cmd/wm/mouse.c b/cmd/wm/mouse.c @@ -13,24 +13,20 @@ Cursor cursor_for_motion(Client *c, int x, int y) { int n, e, w, s, tn, te, tw, ts; - unsigned int bh, bw; - bw = def.border; - bh = bar_height(); - - if(!bw) + if(!def.border) return normal_cursor; /* rectangle attributes of client are used */ - w = x < bw; - e = x >= c->frect.width - bw; - n = y < bw; - s = y >= c->frect.height - bw; + w = x < def.border; + e = x >= c->frect.width - def.border; + n = y < def.border; + s = y >= c->frect.height - def.border; - tw = x < (bh ? bh : 2 * bw); - te = x > c->frect.width - (bh ? bh : 2 * bw); - tn = y < (bh ? bh : 2 * bw); - ts = s > c->frect.height - (bh ? bh : 2 * bw); + tw = x < bar_height(); + te = x > c->frect.width - bar_height(); + tn = y < bar_height(); + ts = s > c->frect.height - bar_height(); if((w && n) || (w && tn) || (n && tw)) return nw_cursor; @@ -53,7 +49,7 @@ cursor_for_motion(Client *c, int x, int y) } Align -xy2align(XRectangle * rect, int x, int y) +xy2align(XRectangle *rect, int x, int y) { int w = x <= rect->x + rect->width / 2; diff --git a/cmd/wm/wm.h b/cmd/wm/wm.h @@ -215,7 +215,7 @@ void configure_client(Client *c); void handle_client_property(Client *c, XPropertyEvent *e); void kill_client(Client *c); void draw_client(Client *client); -void gravitate(Client *c, unsigned int tabh, unsigned int bw, int invert); +void gravitate(Client *c, Bool invert); void unmap_client(Client *c); void map_client(Client *c); void reparent_client(Client *c, Window w, int x, int y);