diff options
| author | Anselm R Garbe <anselm@garbe.us> | 2010-04-01 00:14:15 +0100 | 
|---|---|---|
| committer | Anselm R Garbe <anselm@garbe.us> | 2010-04-01 00:14:15 +0100 | 
| commit | aa9f2be24ea9ea6d9419cad1975bf34c5b64b6e5 (patch) | |
| tree | 5bde4c862fd4e25b886468c910c61537b1dffa93 | |
| parent | c53b29e60b1fcc0f7f095eaabccf38b3630e28fa (diff) | |
more debug output, experimental focus optimisation
| -rw-r--r-- | dwm.c | 13 | 
1 files changed, 9 insertions, 4 deletions
| @@ -815,8 +815,12 @@ void  focus(Client *c) {  	if(!c || !ISVISIBLE(c))  		for(c = selmon->stack; c && !ISVISIBLE(c); c = c->snext); -/*	if(selmon->sel) -		unfocus(selmon->sel);*/ +	if(c && c == selmon->sel) { +		D fprintf(stderr, "focus, optimising focus away\n"); +		return; +	} +	if(selmon->sel) +		unfocus(selmon->sel);  	if(c) {  		if(c->mon != selmon)  			selmon = c->mon; @@ -848,7 +852,8 @@ focusmon(const Arg *arg) {  	if(!mons->next)  		return; -	m = dirtomon(arg->i); +	if((m = dirtomon(arg->i)) == selmon) +		return;  	unfocus(selmon->sel);  	selmon = m;  	focus(NULL); @@ -1406,7 +1411,7 @@ run(void) {  	/* main event loop */  	XSync(dpy, False);  	while(running && !XNextEvent(dpy, &ev)) { -		D fprintf(stderr, "run event %s\n", evname[ev.type]); +		D fprintf(stderr, "run event %s %ld\n", evname[ev.type], ev.xany.window);  		if(handler[ev.type])  			handler[ev.type](&ev); /* call handler */  	} | 
