diff options
author | okan <okan> | 2012-09-09 19:47:47 +0000 |
---|---|---|
committer | okan <okan> | 2012-09-09 19:47:47 +0000 |
commit | 86524e21dd53bad45f4586a7cc856062b67f8033 (patch) | |
tree | e9eabb61fe04d55d914b1a1decc955fff12d0991 /client.c | |
parent | 7071261bde1d100629765ca179a6e8ee662569a6 (diff) | |
download | cwm-86524e21dd53bad45f4586a7cc856062b67f8033.tar.gz cwm-86524e21dd53bad45f4586a7cc856062b67f8033.tar.xz cwm-86524e21dd53bad45f4586a7cc856062b67f8033.zip |
extend client_resize so that it can know when to reset max flags and
bwidth; this allows a client to be resized from a max state, which now gets treated like a non-max'd client. based on a diff that does part of this in a different way from Alexander Polakov.
Diffstat (limited to 'client.c')
-rw-r--r-- | client.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/client.c b/client.c index 15052eb..8cb119f 100644 --- a/client.c +++ b/client.c @@ -306,7 +306,7 @@ client_maximize(struct client_ctx *cc) cc->flags |= CLIENT_MAXIMIZED; resize: - client_resize(cc); + client_resize(cc, 0); } void @@ -355,7 +355,7 @@ client_vertmaximize(struct client_ctx *cc) cc->flags |= CLIENT_VMAXIMIZED; resize: - client_resize(cc); + client_resize(cc, 0); } void @@ -404,12 +404,17 @@ client_horizmaximize(struct client_ctx *cc) cc->flags |= CLIENT_HMAXIMIZED; resize: - client_resize(cc); + client_resize(cc, 0); } void -client_resize(struct client_ctx *cc) +client_resize(struct client_ctx *cc, int reset) { + if (reset) { + cc->flags &= ~CLIENT_MAXIMIZED; + cc->bwidth = Conf.bwidth; + } + client_draw_border(cc); XMoveResizeWindow(X_Dpy, cc->win, cc->geom.x, |