X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/f7c097e8029c7d0dc00db52fc04a2b8192fc2bc9..96ee9d888cc3cf90da3b6a6852d605255d25d020:/dwm.c?ds=inline diff --git a/dwm.c b/dwm.c index 018f929..b417167 100644 --- a/dwm.c +++ b/dwm.c @@ -153,6 +153,7 @@ void killclient(const char *arg); void manage(Window w, XWindowAttributes *wa); void mappingnotify(XEvent *e); void maprequest(XEvent *e); +void monocle(void); void movemouse(Client *c); Client *nexttiled(Client *c); void propertynotify(XEvent *e); @@ -1002,8 +1003,6 @@ manage(Window w, XWindowAttributes *wa) { c->tags = emallocz(TAGSZ); c->win = w; - applyrules(c); - c->x = wa->x + sx; c->y = wa->y + sy; c->w = wa->width; @@ -1038,6 +1037,8 @@ manage(Window w, XWindowAttributes *wa) { for(t = clients; t && t->win != trans; t = t->next); if(t) memcpy(c->tags, t->tags, TAGSZ); + else + applyrules(c); if(!c->isfloating) c->isfloating = (rettrans == Success) || c->isfixed; attach(c); @@ -1071,6 +1072,16 @@ maprequest(XEvent *e) { manage(ev->window, &wa); } +void +monocle(void) { + Client *c; + + domwfact = dozoom = False; + for(c = clients; c; c = c->next) + if(isvisible(c)) + resize(c, wax, way, waw - 2 * c->border, wah - 2 * c->border, RESIZEHINTS); +} + void movemouse(Client *c) { int x1, y1, ocx, ocy, di, nx, ny; @@ -1412,7 +1423,7 @@ setlayout(const char *arg) { } else { for(i = 0; i < LENGTH(layouts); i++) - if(arg == layouts[i].symbol) + if(!strcmp(arg, layouts[i].symbol)) break; if(i == LENGTH(layouts)) return;