wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit f685c1404f64c84a1ec298085361931e4532880e
parent 8821624a06d18e5313db4666dfe0c1c3cfc0af05
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Thu,  9 Feb 2006 00:50:30 +0100

added client->revert


Diffstat:
cmd/wm/client.c | 9++++++++-
cmd/wm/wm.h | 1+
2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/cmd/wm/client.c b/cmd/wm/client.c @@ -113,6 +113,7 @@ focus_client(Client *c) } if(old && (old != c)) { + c->revert = old; grab_window(old->win, AnyModifier, Button1); draw_client(old); } @@ -373,6 +374,11 @@ void detach_client(Client *c, Bool unmap) { if(c->page) { + size_t i; + for(i = 0; i < nclient; i++) + if(client[i]->revert == c) + client[i]->revert = nil; + if(index_of_area(c->page, c->area) > 0) detach_column(c); else { @@ -393,9 +399,10 @@ detach_client(Client *c, Bool unmap) } } c->page = nil; + if(c->revert) + focus_client(c->revert); if(c->destroyed) destroy_client(c); - focus_page(page[sel]); } Client * diff --git a/cmd/wm/wm.h b/cmd/wm/wm.h @@ -84,6 +84,7 @@ struct Client { Window trans; XRectangle rect; XSizeHints size; + Client *revert; struct Frame { Window win; XRectangle rect;