JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
renamed monocle into maxmise, documented the keybindings in dwm(1)
[dwm.git] / dwm.c
diff --git a/dwm.c b/dwm.c
index 018f929..b8db678 100644 (file)
--- a/dwm.c
+++ b/dwm.c
@@ -48,7 +48,7 @@
 #define BUTTONMASK             (ButtonPressMask|ButtonReleaseMask)
 #define CLEANMASK(mask)                (mask & ~(numlockmask|LockMask))
 #define LENGTH(x)              (sizeof x / sizeof x[0])
-#define MAXTAGLEN              16
+#define MAXLEN                 16
 #define MOUSEMASK              (BUTTONMASK|PointerMotionMask)
 
 
@@ -153,6 +153,7 @@ void killclient(const char *arg);
 void manage(Window w, XWindowAttributes *wa);
 void mappingnotify(XEvent *e);
 void maprequest(XEvent *e);
+void maximise(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);
@@ -1072,6 +1073,15 @@ maprequest(XEvent *e) {
 }
 
 void
+maximise(void) {
+       Client *c;
+
+       domwfact = dozoom = False;
+       for(c = nexttiled(clients); c; c = nexttiled(c->next))
+               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;
        unsigned int dui;
@@ -1412,7 +1422,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;