X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=spectrwm.c;h=5b97af2f11104da3f14fa6d2668cdb6cb11d9774;hb=ef048ac6ee49f942ee0029e04dfd8697a08f3d10;hp=2ff50af57625603435881c3a3625e1223662bdd2;hpb=52e931e4986d7c3c91726d26ea5f21d8bff704e4;p=spectrwm.git diff --git a/spectrwm.c b/spectrwm.c index 2ff50af..5b97af2 100644 --- a/spectrwm.c +++ b/spectrwm.c @@ -6981,14 +6981,21 @@ visibilitynotify(XEvent *e) void clientmessage(XEvent *e) { - XClientMessageEvent *ev; - struct ws_win *win; + XClientMessageEvent *ev; + struct ws_win *win; ev = &e->xclient; win = find_window(ev->window); - if (win == NULL) + if (win == NULL) { + if (ev->message_type == ewmh[_NET_ACTIVE_WINDOW].atom) { + DNPRINTF(SWM_D_EVENT, "clientmessage: request focus on " + "unmanaged window.\n"); + e->xmaprequest.window = ev->window; + maprequest(e); + } return; + } DNPRINTF(SWM_D_EVENT, "clientmessage: window: 0x%lx, type: %ld\n", ev->window, ev->message_type);