Here's something I made earlier.
cwm-resize-new.patch:
Resize new clients. This is needed if client_placecalc()
decides to change size of the new window.
cwm-ptrwarp-inbound.patch:
Ensure pointer is within warped-to window. This is relevant
after a window shrinks (e.g., is unmaximized) and another
client becomes active.
Yours,
Vadik.
--
Signals don't kill processes. Processes kill processes.
Index: client.c
===================================================================
RCS file: /cvs/xenocara/app/cwm/client.c,v
retrieving revision 1.214
diff -u -r1.214 client.c
--- client.c 12 Nov 2015 18:33:30 -0000 1.214
+++ client.c 14 Dec 2015 21:29:37 -0000
@@ -97,7 +97,7 @@
if (wattr.map_state != IsViewable) {
client_placecalc(cc);
- client_move(cc);
+ client_resize(cc, 0);
if ((cc->wmh) && (cc->wmh->flags & StateHint))
client_set_wm_state(cc, cc->wmh->initial_state);
} else {
Index: client.c
===================================================================
RCS file: /cvs/xenocara/app/cwm/client.c,v
retrieving revision 1.214
diff -u -r1.214 client.c
--- client.c 12 Nov 2015 18:33:30 -0000 1.214
+++ client.c 29 Dec 2015 03:03:13 -0000
@@ -486,7 +486,7 @@
{
int x = cc->ptr.x, y = cc->ptr.y;
- if (x == -1 || y == -1) {
+ if (!client_inbound(cc, x, y)) {
x = cc->geom.w / 2;
y = cc->geom.h / 2;
}