X-Git-Url: https://jasonwoof.com/gitweb/?p=dwm.git;a=blobdiff_plain;f=dwm.c;h=6299b63d6df661d02d3039e202bfad6d9aa428e8;hp=3b7de9691f6f0f8e17a37ad01209993b706d362c;hb=489ac07e83f5dabd23d494630c7bb61690bb56e0;hpb=6b79f3f3266923292b0ad029c5e240349d9afa39 diff --git a/dwm.c b/dwm.c index 3b7de96..6299b63 100644 --- a/dwm.c +++ b/dwm.c @@ -158,14 +158,12 @@ void movemouse(Client *c); Client *nexttiled(Client *c); void propertynotify(XEvent *e); void quit(const char *arg); -void reapply(const char *arg); void resize(Client *c, int x, int y, int w, int h, Bool sizehints); void resizemouse(Client *c); void restack(void); void run(void); void scan(void); void setclientstate(Client *c, long state); -void setlayout(const char *arg); void setmfact(const char *arg); void setup(void); void spawn(const char *arg); @@ -179,6 +177,7 @@ void tileresize(Client *c, int x, int y, int w, int h); void tilev(void); void tilevstack(unsigned int n); void togglefloating(const char *arg); +void togglelayout(const char *arg); void toggletag(const char *arg); void toggleview(const char *arg); void unban(Client *c); @@ -335,7 +334,7 @@ buttonpress(XEvent *e) { } } if((ev->x < x + blw) && ev->button == Button1) - setlayout(NULL); + togglelayout(NULL); } else if((c = getclient(ev->window))) { focus(c); @@ -504,7 +503,7 @@ void detachstack(Client *c) { Client **tc; - for(tc=&stack; *tc && *tc != c; tc=&(*tc)->snext); + for(tc = &stack; *tc && *tc != c; tc = &(*tc)->snext); *tc = c->snext; } @@ -595,7 +594,7 @@ drawtext(const char *text, unsigned long col[ColLast], Bool invert) { x = dc.x + (h / 2); /* shorten text if necessary */ for(; len && (w = textnw(buf, len)) > dc.w - h; len--); - if (!len) + if(!len) return; if(len < olen) { if(len > 1) @@ -782,21 +781,21 @@ grabbuttons(Client *c, Bool focused) { int i, j; unsigned int buttons[] = { Button1, Button2, Button3 }; unsigned int modifiers[] = { MODKEY, MODKEY|LockMask, MODKEY|numlockmask, - MODKEY|numlockmask|LockMask} ; + MODKEY|numlockmask|LockMask} ; XUngrabButton(dpy, AnyButton, AnyModifier, c->win); if(focused) for(i = 0; i < LENGTH(buttons); i++) for(j = 0; j < LENGTH(modifiers); j++) XGrabButton(dpy, buttons[i], modifiers[j], c->win, False, - BUTTONMASK, GrabModeAsync, GrabModeSync, None, None); + BUTTONMASK, GrabModeAsync, GrabModeSync, None, None); else XGrabButton(dpy, AnyButton, AnyModifier, c->win, False, - BUTTONMASK, GrabModeAsync, GrabModeSync, None, None); + BUTTONMASK, GrabModeAsync, GrabModeSync, None, None); } void -grabkeys(void) { +grabkeys(void) { unsigned int i, j; KeyCode code; XModifierKeymap *modmap; @@ -1041,7 +1040,7 @@ monocle(void) { Client *c; for(c = clients; c; c = c->next) - if((lt->isfloating || !c->isfloating) && isvisible(c, NULL)) + if((lt->isfloating || !c->isfloating) && isvisible(c, NULL)) resize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw, RESIZEHINTS); } @@ -1055,7 +1054,7 @@ movemouse(Client *c) { ocx = nx = c->x; ocy = ny = c->y; if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, - None, cursor[CurMove], CurrentTime) != GrabSuccess) + None, cursor[CurMove], CurrentTime) != GrabSuccess) return; XQueryPointer(dpy, root, &dummy, &dummy, &x1, &y1, &di, &di, &dui); for(;;) { @@ -1137,17 +1136,6 @@ quit(const char *arg) { } void -reapply(const char *arg) { - Client *c; - - for(c = clients; c; c = c->next) { - memset(c->tags, 0, TAGSZ); - applyrules(c); - } - arrange(); -} - -void resize(Client *c, int x, int y, int w, int h, Bool sizehints) { XWindowChanges wc; @@ -1162,8 +1150,7 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) { /* adjust for aspect limits */ if(c->minax != c->maxax && c->minay != c->maxay - && c->minax > 0 && c->maxax > 0 && c->minay > 0 && c->maxay > 0) - { + && c->minax > 0 && c->maxax > 0 && c->minay > 0 && c->maxay > 0) { if(w * c->maxay > h * c->maxax) w = h * c->maxax / c->maxay; else if(w * c->minay < h * c->minax) @@ -1221,7 +1208,7 @@ resizemouse(Client *c) { ocx = c->x; ocy = c->y; if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync, - None, cursor[CurResize], CurrentTime) != GrabSuccess) + None, cursor[CurResize], CurrentTime) != GrabSuccess) return; XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1); for(;;) { @@ -1351,7 +1338,7 @@ scan(void) { if(XQueryTree(dpy, root, &d1, &d2, &wins, &num)) { for(i = 0; i < num; i++) { if(!XGetWindowAttributes(dpy, wins[i], &wa) - || wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1)) + || wa.override_redirect || XGetTransientForHint(dpy, wins[i], &d1)) continue; if(wa.map_state == IsViewable || getstate(wins[i]) == IconicState) manage(wins[i], &wa); @@ -1360,7 +1347,7 @@ scan(void) { if(!XGetWindowAttributes(dpy, wins[i], &wa)) continue; if(XGetTransientForHint(dpy, wins[i], &d1) - && (wa.map_state == IsViewable || getstate(wins[i]) == IconicState)) + && (wa.map_state == IsViewable || getstate(wins[i]) == IconicState)) manage(wins[i], &wa); } } @@ -1377,28 +1364,6 @@ setclientstate(Client *c, long state) { } void -setlayout(const char *arg) { - unsigned int i; - - if(!arg) { - if(++lt == &layouts[LENGTH(layouts)]) - lt = &layouts[0]; - } - else { - for(i = 0; i < LENGTH(layouts); i++) - if(!strcmp(arg, layouts[i].symbol)) - break; - if(i == LENGTH(layouts)) - return; - lt = &layouts[i]; - } - if(sel) - arrange(); - else - drawbar(); -} - -void setmfact(const char *arg) { double d; @@ -1479,8 +1444,8 @@ setup(void) { wa.event_mask = ButtonPressMask|ExposureMask; barwin = XCreateWindow(dpy, root, bx, by, bw, bh, 0, DefaultDepth(dpy, screen), - CopyFromParent, DefaultVisual(dpy, screen), - CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa); + CopyFromParent, DefaultVisual(dpy, screen), + CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa); XDefineCursor(dpy, barwin, cursor[CurNormal]); XMapRaised(dpy, barwin); strcpy(stext, "dwm-"VERSION); @@ -1532,7 +1497,7 @@ tag(const char *arg) { if(!sel) return; for(i = 0; i < LENGTH(tags); i++) - sel->tags[i] = (NULL == arg); + sel->tags[i] = (arg == NULL); sel->tags[idxoftag(arg)] = True; arrange(); } @@ -1637,6 +1602,28 @@ togglefloating(const char *arg) { } void +togglelayout(const char *arg) { + unsigned int i; + + if(!arg) { + if(++lt == &layouts[LENGTH(layouts)]) + lt = &layouts[0]; + } + else { + for(i = 0; i < LENGTH(layouts); i++) + if(!strcmp(arg, layouts[i].symbol)) + break; + if(i == LENGTH(layouts)) + return; + lt = &layouts[i]; + } + if(sel) + arrange(); + else + drawbar(); +} + +void toggletag(const char *arg) { unsigned int i, j; @@ -1704,7 +1691,6 @@ unmapnotify(XEvent *e) { void updatebar(void) { - if(dc.drawable != 0) XFreePixmap(dpy, dc.drawable); dc.drawable = XCreatePixmap(dpy, root, bw, bh, DefaultDepth(dpy, screen)); @@ -1839,7 +1825,7 @@ xerror(Display *dpy, XErrorEvent *ee) { || (ee->request_code == X_CopyArea && ee->error_code == BadDrawable)) return 0; fprintf(stderr, "dwm: fatal error: request code=%d, error code=%d\n", - ee->request_code, ee->error_code); + ee->request_code, ee->error_code); return xerrorxlib(dpy, ee); /* may call exit */ }