X-Git-Url: https://jasonwoof.com/gitweb/?p=dwm.git;a=blobdiff_plain;f=dwm.c;h=01e8d1f5dd8931715d7ca61bf17a26df55289f42;hp=5df912bbb5ac07c3a10f9e9761a960b8fbb66dc5;hb=cd8bb06af514ed9a30c0786b70c1d6ee6afb68c8;hpb=d83454f6b7bcc982ab52b61aac564369ac8994e6 diff --git a/dwm.c b/dwm.c index 5df912b..01e8d1f 100644 --- a/dwm.c +++ b/dwm.c @@ -389,6 +389,7 @@ arrange(Monitor *m) { showhide(m->stack); else for(m = mons; m; m = m->next) showhide(m->stack); + focus(NULL); if(m) arrangemon(m); else for(m = mons; m; m = m->next) @@ -597,7 +598,6 @@ configurenotify(XEvent *e) { updatebars(); for(m = mons; m; m = m->next) XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, m->ww, bh); - focus(NULL); arrange(NULL); } } @@ -827,13 +827,14 @@ enternotify(XEvent *e) { if((ev->mode != NotifyNormal || ev->detail == NotifyInferior) && ev->window != root) return; c = wintoclient(ev->window); - if((m = wintomon(ev->window)) && m != selmon) { + m = c ? c->mon : wintomon(ev->window); + if(m != selmon) { unfocus(selmon->sel, True); selmon = m; } - else if(c == selmon->sel || c == NULL) + else if(!c || c == selmon->sel) return; - focus((wintoclient(ev->window))); + focus(c); } void @@ -1112,8 +1113,8 @@ manage(Window w, XWindowAttributes *wa) { applyrules(c); } /* geometry */ - c->x = c->oldx = wa->x + c->mon->wx; - c->y = c->oldy = wa->y + c->mon->wy; + c->x = c->oldx = wa->x; + c->y = c->oldy = wa->y; c->w = c->oldw = wa->width; c->h = c->oldh = wa->height; c->oldbw = wa->border_width; @@ -1149,10 +1150,9 @@ manage(Window w, XWindowAttributes *wa) { attach(c); attachstack(c); XMoveResizeWindow(dpy, c->win, c->x + 2 * sw, c->y, c->w, c->h); /* some windows require this */ + XMapWindow(dpy, c->win); setclientstate(c, NormalState); arrange(c->mon); - XMapWindow(dpy, c->win); - focus(c); } void @@ -1617,7 +1617,6 @@ void tag(const Arg *arg) { if(selmon->sel && arg->ui & TAGMASK) { selmon->sel->tags = arg->ui & TAGMASK; - focus(NULL); arrange(selmon); } } @@ -1698,7 +1697,6 @@ toggletag(const Arg *arg) { newtags = selmon->sel->tags ^ (arg->ui & TAGMASK); if(newtags) { selmon->sel->tags = newtags; - focus(NULL); arrange(selmon); } } @@ -1709,7 +1707,6 @@ toggleview(const Arg *arg) { if(newtagset) { selmon->tagset[selmon->seltags] = newtagset; - focus(NULL); arrange(selmon); } } @@ -1975,7 +1972,6 @@ view(const Arg *arg) { selmon->seltags ^= 1; /* toggle sel tagset */ if(arg->ui & TAGMASK) selmon->tagset[selmon->seltags] = arg->ui & TAGMASK; - focus(NULL); arrange(selmon); }