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 /dwm.c | |
parent | c53b29e60b1fcc0f7f095eaabccf38b3630e28fa (diff) | |
download | dwm-aa9f2be24ea9ea6d9419cad1975bf34c5b64b6e5.tar.gz |
more debug output, experimental focus optimisation
Diffstat (limited to 'dwm.c')
-rw-r--r-- | dwm.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/dwm.c b/dwm.c index b989e8a..b1f77cc 100644 --- a/dwm.c +++ b/dwm.c @@ -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 */ } |