summaryrefslogtreecommitdiff
path: root/dwm.c
diff options
context:
space:
mode:
authorAndrew Guschin <saintruler@gmail.com>2021-09-02 22:44:43 +0400
committerAndrew Guschin <saintruler@gmail.com>2021-09-02 22:44:43 +0400
commit94b8725f119e75b440b2fde4b887531434b43704 (patch)
tree786d734aa803bbb28d4940dc5666cfd0e144bca0 /dwm.c
parent80e3581af2ce0892bc14b4691f8eb0f07299e89f (diff)
Added focusonnetactive patch
Diffstat (limited to 'dwm.c')
-rw-r--r--dwm.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/dwm.c b/dwm.c
index 6887f7f..4de3243 100644
--- a/dwm.c
+++ b/dwm.c
@@ -567,6 +567,7 @@ clientmessage(XEvent *e)
XSetWindowAttributes swa;
XClientMessageEvent *cme = &e->xclient;
Client *c = wintoclient(cme->window);
+ unsigned int i;
if (showsystray && cme->window == systray->win && cme->message_type == netatom[NetSystemTrayOP]) {
/* add systray icons */
@@ -622,8 +623,14 @@ clientmessage(XEvent *e)
setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */
|| (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen)));
} else if (cme->message_type == netatom[NetActiveWindow]) {
- if (c != selmon->sel && !c->isurgent)
- seturgent(c, 1);
+ for (i = 0; i < LENGTH(tags) && !((1 << i) & c->tags); i++);
+ if (i < LENGTH(tags)) {
+ const Arg a = {.ui = 1 << i};
+ selmon = c->mon;
+ view(&a);
+ focus(c);
+ restack(selmon);
+ }
}
}