sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit bb07b5f00ed49c8a96ef81f5afd6194a1c7e8900
parent 41994f3cb4b3af9cc151eca20bd1e57941387850
Author: Ivan Tham <pickfire@riseup.net>
Date:   Sat, 23 Jul 2016 19:19:12 +0800

[dwm][savefloats] Update thanks to ml

Diffstat:
Adwm.suckless.org/patches/dwm-savefloats-20160723-56a31dc.diff | 46++++++++++++++++++++++++++++++++++++++++++++++
Mdwm.suckless.org/patches/save_floats.md | 2++
2 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/dwm.suckless.org/patches/dwm-savefloats-20160723-56a31dc.diff b/dwm.suckless.org/patches/dwm-savefloats-20160723-56a31dc.diff @@ -0,0 +1,46 @@ +diff --git a/dwm.c b/dwm.c +index cfea881..87a23c4 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -107,6 +107,7 @@ struct Client { + char name[256]; + float mina, maxa; + int x, y, w, h; ++ int sfx, sfy, sfw, sfh; /* stored float geometry, used on mode revert */ + int oldx, oldy, oldw, oldh; + int basew, baseh, incw, inch, maxw, maxh, minw, minh; + int bw, oldbw; +@@ -1205,10 +1206,10 @@ manage(Window w, XWindowAttributes *wa) + c = ecalloc(1, sizeof(Client)); + c->win = w; + /* geometry */ +- c->x = c->oldx = wa->x; +- c->y = c->oldy = wa->y; +- c->w = c->oldw = wa->width; +- c->h = c->oldh = wa->height; ++ c->sfx = c->x = c->oldx = wa->x; ++ c->sfy = c->y = c->oldy = wa->y; ++ c->sfw = c->w = c->oldw = wa->width; ++ c->sfh = c->h = c->oldh = wa->height; + c->oldbw = wa->border_width; + + updatetitle(c); +@@ -1976,8 +1977,16 @@ togglefloating(const Arg *arg) + return; + selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed; + if (selmon->sel->isfloating) +- resize(selmon->sel, selmon->sel->x, selmon->sel->y, +- selmon->sel->w, selmon->sel->h, 0); ++ /* restore last know float dimentions */ ++ resize(selmon->sel, selmon->sel->sfx, selmon->sel->sfy, ++ selmon->sel->sfw, selmon->sel->sfh, 0); ++ else { ++ /* save last known float dimentions */ ++ selmon->sel->sfx = selmon->sel->x; ++ selmon->sel->sfy = selmon->sel->y; ++ selmon->sel->sfw = selmon->sel->w; ++ selmon->sel->sfh = selmon->sel->h; ++ } + arrange(selmon); + } + diff --git a/dwm.suckless.org/patches/save_floats.md b/dwm.suckless.org/patches/save_floats.md @@ -9,6 +9,7 @@ be restored. Patches against different versions of dwm are available at [dwm-clean-patches](https://github.com/jceb/dwm-clean-patches). + * [dwm-savefloats-20160723-56a31dc.diff](dwm-savefloats-20160723-56a31dc.diff) (1452b) * [dwm-6.1-save_floats.diff](dwm-6.1-save_floats.diff) (1605b) (20140209) * [dwm-10e232f9ace7-save_floats.diff](dwm-10e232f9ace7-save_floats.diff) (1604b) (20120406) * [dwm-save_floats-6.0.diff](dwm-save_floats-6.0.diff) (1528b) (20120406) @@ -16,3 +17,4 @@ Patches against different versions of dwm are available at ## Author ## * http://nymu.net/patches * Updated by Jan Christoph Ebersbach - <jceb@e-jc.de> + * Ivan Tham <pickfire@riseup.net> (git port)