dwm

My fork of dwm.
git clone git://git.alex.balgavy.eu/dwm.git
Log | Files | Refs | README | LICENSE

commit 9e0b377142233c14a450fb3e0706ab2b55505ea1
parent 90cf206ac9c14380423b822bdaa5f9cd6994f92d
Author: Alex Balgavy <alexander.balgavy@spaceapplications.com>
Date:   Fri, 20 Sep 2024 17:44:55 +0200

Allow switching tags with wmctrl

Diffstat:
Mdwm.c | 11+++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/dwm.c b/dwm.c @@ -663,6 +663,7 @@ clientmessage(XEvent *e) { XClientMessageEvent *cme = &e->xclient; Client *c = wintoclient(cme->window); + unsigned int i; if (!c) return; @@ -672,8 +673,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); + } } }