From 6af56d5411a0ced369d6f8125092fd1a051b497e Mon Sep 17 00:00:00 2001
From: Elaina Martineau <elainamartineau@gmail.com>
Date: Thu, 14 Mar 2019 17:31:58 -0600
Subject: Get actual geometry from Xlib after resize

---
 src/winwidget.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/winwidget.c b/src/winwidget.c
index bb4fdae..12fb8df 100644
--- a/src/winwidget.c
+++ b/src/winwidget.c
@@ -820,6 +820,8 @@ void winwidget_resize(winwidget winwid, int w, int h, int force_resize)
 		winwid->had_resize = 1;
 		XFlush(disp);
 
+		winwidget_get_geometry(winwid, NULL);
+
 		if (force_resize && (opt.geom_flags & (WidthValue | HeightValue))
 				&& (winwid->type != WIN_TYPE_THUMBNAIL)) {
 			opt.geom_w = winwid->w;
@@ -1059,8 +1061,11 @@ void winwidget_get_geometry(winwidget winwid, int *rect)
 {
 	unsigned int bw, bp;
 	Window child;
+
+	int inner_rect[4];
+
 	if (!rect)
-		return;
+		rect = inner_rect;
 
 	XGetGeometry(disp, winwid->win, &root, &(rect[0]), &(rect[1]), (unsigned
 				int *)&(rect[2]), (unsigned int *)&(rect[3]), &bw, &bp);
-- 
cgit v1.2.3


From 11eeb961f15219da506a050ffc432e052689dcd6 Mon Sep 17 00:00:00 2001
From: Elaina Martineau <elainamartineau@gmail.com>
Date: Thu, 14 Mar 2019 18:40:20 -0600
Subject: Get geometry after mapping

---
 src/winwidget.c | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'src')

diff --git a/src/winwidget.c b/src/winwidget.c
index 12fb8df..f3ecc84 100644
--- a/src/winwidget.c
+++ b/src/winwidget.c
@@ -721,6 +721,8 @@ void winwidget_show(winwidget winwid)
 		/* wait for the window to map */
 		D(("Waiting for window to map\n"));
 		XMaskEvent(disp, StructureNotifyMask, &ev);
+		winwidget_get_geometry(winwid, NULL);
+
 		/* Unfortunately, StructureNotifyMask does not only mask
 		 * the events of type MapNotify (which we want to mask here)
 		 * but also such of type ConfigureNotify (and others, see
-- 
cgit v1.2.3