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;
 	}

Reply via email to