commit f685c1404f64c84a1ec298085361931e4532880e
parent 8821624a06d18e5313db4666dfe0c1c3cfc0af05
Author: Anselm R. Garbe <garbeam@wmii.de>
Date: Thu, 9 Feb 2006 00:50:30 +0100
added client->revert
Diffstat:
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;