about summary refs log tree commit diff stats
path: root/dwm.c
diff options
context:
space:
mode:
authorAnselm R Garbe <garbeam@gmail.com>2009-06-24 15:37:32 +0100
committerAnselm R Garbe <garbeam@gmail.com>2009-06-24 15:37:32 +0100
commit80ee95473b8b2fd44262029d35fe25e175e9765f (patch)
tree6a6f3efa71adbb51d0a44d802c58efdcc2e554fc /dwm.c
parent454a04acdf7849ce00ed7a8096254f78f3dc96f9 (diff)
downloaddwm-80ee95473b8b2fd44262029d35fe25e175e9765f.tar.gz
some focus fixes
Diffstat (limited to 'dwm.c')
-rw-r--r--dwm.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/dwm.c b/dwm.c
index 8862f59..e288ab6 100644
--- a/dwm.c
+++ b/dwm.c
@@ -762,6 +762,8 @@ focus(Client *c) {
 		XSetWindowBorder(dpy, selmon->sel->win, dc.norm[ColBorder]);
 	}
 	if(c) {
+		if(c->mon != selmon)
+			selmon = c->mon;
 		if(c->isurgent)
 			clearurgent(c);
 		detachstack(c);
@@ -792,8 +794,12 @@ focusmon(const Arg *arg) {
 
 	for(i = 0, m = mons; m; m = m->next, i++)
 		if(i == arg->ui) {
-			selmon = m;
-			focus(NULL);
+			if(m->stack)
+				focus(m->stack);
+			else {
+				selmon = m;
+				focus(NULL);
+			}
 			drawbars();
 			break;
 		}