fix keyboard lockup on client initiated unmap event, tweak desktop switching and monitor refresh
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmIoRsgACgkQO3+8IhRO Y5gsHA/+OI5n2KhM5dCH+wLd9gsIHuPcWbLxrnynhS5ojfcSx00rOXTdlyHk34Wm i1zDLWxtXwg/EvtludkIuKHYFOkkLLDGkBHKn74OJHDTJumTeU1DX1h4L4dUAiuk kY6ZshGyodPBuZFzeaQeXygb1EVd93GVjc6SijWYVy70hdXQm8LgamRZM9aSBqCe PdygYDp6Il/dYa0f0bmfaS80RwOfnZktoH22VdXMDkeM3a9Youij5BPd5B6Gb8Y6 40RnNVANEeIudcSeZRjOpfhNcSTqLociX0yzvVKwH9ybM6Po9kkTCzCFBfMtWJY0 3tjf0hQsYhb2rUkJzIyYp0gv/2WWyBCuFlqyUU1TcfWWI+h097YTF3v0lWIE3Px+ FHIxxAWDqFggoiRStnYtcjZzJOocoSwIFnNCNZwmnAWumB+Ie9q3yJOt+b3Kwg/U CI0q7P0pNELHiKYndR96uVIUy51LasVdYOMBTduRkVmqtNESeU9MlrySsrOU4TM5 Se3F9zyzPZ4QHQPQUL8/+hg786RAmXlsNm7QnYdWcfxWC5BbIHuWg0dFlEymO5s2 Lu3pdPMa+TMrVxdOF16LwVSMP7EpBOry4uEw/QaB5wTQd27MU/vKzLZumVzCNRdr xn3Nrtd9kN6c9jOB2aaUbd+rBzksGUJXtSFlZfguSlxFFQnAp3Q= =Cppi -----END PGP SIGNATURE-----
M
client.c
→
client.c
@@ -109,8 +109,7 @@ void nofocus(void) {
static Window w = 0; int mask; XSetWindowAttributes attr; - Client* c; - + /*Client* c; if (current) { setactive(current, 0); for (c = current->revert; c; c = c->revert)@@ -119,9 +118,8 @@ active(c);
return; } cmapnofocus(current->screen); - /* if no candidates to revert to, fall through */ } - current = 0; + current = 0;*/ if (w == 0) { mask = CWOverrideRedirect /*|CWColormap*/; attr.override_redirect = 1;
M
event.c
→
event.c
@@ -49,6 +49,7 @@ if (monitor < 0 || monitor >= nmonitors) {
break; } for (c = clients; c; c = c->next) { + monitor = getmonitorbyclient(c); wrangle(c, monitorinfo[monitor]); } }@@ -272,6 +273,7 @@ }
break; case NormalState: if (c == current) { + nofocus(); if (revertc = getclient(getrevert(c), 0)) { top(revertc); active(revertc);