diff options
| author | Anselm R. Garbe <garbeam@gmail.com> | 2007-12-09 13:39:29 +0100 | 
|---|---|---|
| committer | Anselm R. Garbe <garbeam@gmail.com> | 2007-12-09 13:39:29 +0100 | 
| commit | 5f19423c7bd2aa1ebb3010af15bebffbc3a9cbc3 (patch) | |
| tree | b8ad248b955d806b24ab220338d7a7d224aaec6b | |
| parent | d66ad1457e6b1e3fc18c01767fdb499acaef3c8e (diff) | |
| download | dwm-5f19423c7bd2aa1ebb3010af15bebffbc3a9cbc3.tar.gz | |
simplified Mod-m
| -rw-r--r-- | config.def.h | 2 | ||||
| -rw-r--r-- | dwm.1 | 2 | ||||
| -rw-r--r-- | dwm.c | 46 | 
3 files changed, 12 insertions, 38 deletions
| diff --git a/config.def.h b/config.def.h index d76bd0b..25bf3e6 100644 --- a/config.def.h +++ b/config.def.h @@ -46,7 +46,7 @@ Key keys[] = {  	{ MODKEY,			XK_k,		focusprev,	NULL },  	{ MODKEY,			XK_h,		setmwfact,	"-0.05" },  	{ MODKEY,			XK_l,		setmwfact,	"+0.05" }, -	{ MODKEY,			XK_m,		togglemax,	NULL }, +	{ MODKEY,			XK_m,		maximize,	NULL },  	{ MODKEY,			XK_r,		reapply,	NULL },  	{ MODKEY,			XK_Return,	zoom,		NULL },  	{ MODKEY,			XK_Tab,		viewprevtag,	NULL }, @@ -78,7 +78,7 @@ Focus previous window.  Increases the master area width about 5% (tiled layout only).  .TP  .B Mod1\-m -Toggles maximization of current window. +Maximizes current window (floating layout/window only).  .TP  .B Mod1\-r  Re-applies tagging rules to all windows. @@ -61,12 +61,11 @@ typedef struct Client Client;  struct Client {  	char name[256];  	int x, y, w, h; -	int rx, ry, rw, rh; /* revert geometry */  	int basew, baseh, incw, inch, maxw, maxh, minw, minh;  	int minax, maxax, minay, maxay;  	long flags;  	unsigned int border, oldborder; -	Bool isbanned, isfixed, ismax, isfloating, wasfloating; +	Bool isbanned, isfixed, isfloating;  	Bool *tags;  	Client *next;  	Client *prev; @@ -157,6 +156,7 @@ void leavenotify(XEvent *e);  void manage(Window w, XWindowAttributes *wa);  void mappingnotify(XEvent *e);  void maprequest(XEvent *e); +void maximize(const char *arg);  void movemouse(Client *c);  Client *nexttiled(Client *c);  void propertynotify(XEvent *e); @@ -178,7 +178,6 @@ unsigned int textw(const char *text);  void tile(void);  void togglebar(const char *arg);  void togglefloating(const char *arg); -void togglemax(const char *arg);  void toggletag(const char *arg);  void toggleview(const char *arg);  void unban(Client *c); @@ -466,7 +465,6 @@ configurerequest(XEvent *e) {  	XWindowChanges wc;  	if((c = getclient(ev->window))) { -		c->ismax = False;  		if(ev->value_mask & CWBorderWidth)  			c->border = ev->border_width;  		if(c->isfixed || c->isfloating || (floating == layout->arrange)) { @@ -563,7 +561,7 @@ drawbar(void) {  		dc.x = x;  		if(sel) {  			drawtext(sel->name, dc.sel); -			drawsquare(sel->ismax, sel->isfloating, dc.sel); +			drawsquare(False, sel->isfloating, dc.sel);  		}  		else  			drawtext(NULL, dc.norm); @@ -1079,6 +1077,13 @@ maprequest(XEvent *e) {  }  void +maximize(const char *arg) { +	if(!sel || (!sel->isfloating && layout->arrange != floating)) +		return; +	resize(sel, wax, way, waw - 2 * sel->border, wah - 2 * sel->border, True); +} + +void  movemouse(Client *c) {  	int x1, y1, ocx, ocy, di, nx, ny;  	unsigned int dui; @@ -1090,7 +1095,6 @@ movemouse(Client *c) {  	if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync,  			None, cursor[CurMove], CurrentTime) != GrabSuccess)  		return; -	c->ismax = False;  	XQueryPointer(dpy, root, &dummy, &dummy, &x1, &y1, &di, &di, &dui);  	for(;;) {  		XMaskEvent(dpy, MOUSEMASK | ExposureMask | SubstructureRedirectMask, &ev); @@ -1248,7 +1252,6 @@ resizemouse(Client *c) {  	if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync,  			None, cursor[CurResize], CurrentTime) != GrabSuccess)  		return; -	c->ismax = False;  	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->border - 1, c->h + c->border - 1);  	for(;;) {  		XMaskEvent(dpy, MOUSEMASK | ExposureMask | SubstructureRedirectMask , &ev); @@ -1609,7 +1612,6 @@ tile(void) {  	ny = way;  	nw = 0; /* gcc stupidity requires this */  	for(i = 0, c = mc = nexttiled(clients); c; c = nexttiled(c->next), i++) { -		c->ismax = False;  		if(i == 0) { /* master */  			nw = mw - 2 * c->border;  			nh = wah - 2 * c->border; @@ -1655,34 +1657,6 @@ togglefloating(const char *arg) {  }  void -togglemax(const char *arg) { -	XEvent ev; - -	if(!sel || sel->isfixed) -		return; -	if((sel->ismax = !sel->ismax)) { -		if((layout->arrange == floating) || sel->isfloating) -			sel->wasfloating = True; -		else { -			togglefloating(NULL); -			sel->wasfloating = False; -		} -		sel->rx = sel->x; -		sel->ry = sel->y; -		sel->rw = sel->w; -		sel->rh = sel->h; -		resize(sel, wax, way, waw - 2 * sel->border, wah - 2 * sel->border, True); -	} -	else { -		resize(sel, sel->rx, sel->ry, sel->rw, sel->rh, True); -		if(!sel->wasfloating) -			togglefloating(NULL); -	} -	drawbar(); -	while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); -} - -void  toggletag(const char *arg) {  	unsigned int i, j; | 
