monocle goes mainstream

master
Anselm R Garbe 2008-03-04 18:58:23 +00:00
parent a82cba2759
commit 96ee9d888c
2 changed files with 15 additions and 2 deletions

View File

@ -30,6 +30,7 @@ Layout layouts[] = {
/* symbol function */
{ "[]=", tile }, /* first entry is default */
{ "><>", floating },
{ "[M]", monocle },
};
/* key definitions */
@ -46,6 +47,7 @@ Key keys[] = {
{ MODKEY, XK_h, setmwfact, "-0.05" },
{ MODKEY, XK_l, setmwfact, "+0.05" },
{ MODKEY, XK_r, reapply, NULL },
{ MODKEY, XK_m, setlayout, "[M]" },
{ MODKEY, XK_Return, zoom, NULL },
{ MODKEY, XK_Tab, viewprevtag, NULL },
{ MODKEY|ShiftMask, XK_space, togglefloating, NULL },

13
dwm.c
View File

@ -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);
@ -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;