Xinqi Bao's Git
projects
/
dwm.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
tag fix
[dwm.git]
/
dwm.c
diff --git
a/dwm.c
b/dwm.c
index
719db48
..
2588153
100644
(file)
--- a/
dwm.c
+++ b/
dwm.c
@@
-1,4
+1,4
@@
-#define XINULATOR /* debug, simulates dual head */
+
//
#define XINULATOR /* debug, simulates dual head */
/* See LICENSE file for copyright and license details.
*
* dynamic window manager is designed like any other X client as well. It is
/* See LICENSE file for copyright and license details.
*
* dynamic window manager is designed like any other X client as well. It is
@@
-1502,10
+1502,10
@@
tagmon(const Arg *arg) {
detach(c);
detachstack(c);
c->mon = m;
detach(c);
detachstack(c);
c->mon = m;
+ c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */
attach(c);
attachstack(c);
attach(c);
attachstack(c);
- selmon->sel = selmon->stack;
- m->sel = c;
+ focus(NULL);
arrange();
break;
}
arrange();
break;
}
@@
-1620,7
+1620,10
@@
unmanage(Client *c) {
detach(c);
detachstack(c);
if(c->mon->sel == c) {
detach(c);
detachstack(c);
if(c->mon->sel == c) {
- c->mon->sel = c->mon->stack;
+ /* TODO: consider separate the next code into a function or into detachstack? */
+ Client *tc;
+ for(tc = c->mon->stack; tc && !ISVISIBLE(tc); tc = tc->snext);
+ c->mon->sel = tc;
focus(NULL);
}
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
focus(NULL);
}
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);