aboutsummaryrefslogtreecommitdiffstats
path: root/patches/dwm-autoresize-6.1.diff
diff options
context:
space:
mode:
Diffstat (limited to 'patches/dwm-autoresize-6.1.diff')
-rw-r--r--patches/dwm-autoresize-6.1.diff35
1 files changed, 35 insertions, 0 deletions
diff --git a/patches/dwm-autoresize-6.1.diff b/patches/dwm-autoresize-6.1.diff
new file mode 100644
index 0000000..76530b9
--- /dev/null
+++ b/patches/dwm-autoresize-6.1.diff
@@ -0,0 +1,35 @@
+diff --git a/dwm.c b/dwm.c
+index 0362114..e4e8514 100644
+--- a/dwm.c
++++ b/dwm.c
+@@ -92,7 +92,7 @@ struct Client {
+ int basew, baseh, incw, inch, maxw, maxh, minw, minh;
+ int bw, oldbw;
+ unsigned int tags;
+- int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen;
++ int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, needresize;
+ Client *next;
+ Client *snext;
+ Monitor *mon;
+@@ -621,6 +621,8 @@ configurerequest(XEvent *e)
+ configure(c);
+ if (ISVISIBLE(c))
+ XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
++ else
++ c->needresize = 1;
+ } else
+ configure(c);
+ } else {
+@@ -1611,6 +1613,12 @@ showhide(Client *c)
+ if (ISVISIBLE(c)) {
+ /* show clients top down */
+ XMoveWindow(dpy, c->win, c->x, c->y);
++ if (c->needresize) {
++ c->needresize = 0;
++ XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
++ } else {
++ XMoveWindow(dpy, c->win, c->x, c->y);
++ }
+ if ((!c->mon->lt[c->mon->sellt]->arrange || c->isfloating) && !c->isfullscreen)
+ resize(c, c->x, c->y, c->w, c->h, 0);
+ showhide(c->snext);