diff options
author | okan | 2014-08-19 12:47:51 +0000 |
---|---|---|
committer | okan | 2014-08-19 12:47:51 +0000 |
commit | 1d86ebf910116ad2815e9f1a243faf7746abd0f4 (patch) | |
tree | 136a45da17e2498aaefe42758625b9ae2050a2ea /group.c | |
parent | 3fdfda76527cf75885aabd06006fce424b696245 (diff) | |
download | cwm-1d86ebf910116ad2815e9f1a243faf7746abd0f4.tar.gz |
Pull highstack from group_ctx (and useless calculations of); in the one
place that we use highstack, replace that usage with a local variable
(for now until stacking is done properly).
Diffstat (limited to 'group.c')
-rw-r--r-- | group.c | 27 |
1 files changed, 10 insertions, 17 deletions
@@ -16,7 +16,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: group.c,v 1.88 2014/08/18 13:57:57 okan Exp $ + * $OpenBSD: group.c,v 1.89 2014/08/19 12:47:51 okan Exp $ */ #include <sys/param.h> @@ -68,12 +68,9 @@ group_hide(struct screen_ctx *sc, struct group_ctx *gc) screen_updatestackingorder(sc); - gc->highstack = 0; - TAILQ_FOREACH(cc, &gc->clients, group_entry) { + TAILQ_FOREACH(cc, &gc->clients, group_entry) client_hide(cc); - if (cc->stackingorder > gc->highstack) - gc->highstack = cc->stackingorder; - } + gc->hidden = 1; } @@ -83,27 +80,23 @@ group_show(struct screen_ctx *sc, struct group_ctx *gc) struct client_ctx *cc; Window *winlist; int i, lastempty = -1; - int nwins = 0; + int nwins = 0, highstack = 0; - gc->highstack = 0; TAILQ_FOREACH(cc, &gc->clients, group_entry) { - if (cc->stackingorder > gc->highstack) - gc->highstack = cc->stackingorder; + if (cc->stackingorder > highstack) + highstack = cc->stackingorder; } - winlist = xcalloc((gc->highstack + 1), sizeof(*winlist)); + winlist = xcalloc((highstack + 1), sizeof(*winlist)); - /* - * Invert the stacking order as XRestackWindows() expects them - * top-to-bottom. - */ + /* Invert the stacking order for XRestackWindows(). */ TAILQ_FOREACH(cc, &gc->clients, group_entry) { - winlist[gc->highstack - cc->stackingorder] = cc->win; + winlist[highstack - cc->stackingorder] = cc->win; client_unhide(cc); nwins++; } /* Un-sparseify */ - for (i = 0; i <= gc->highstack; i++) { + for (i = 0; i <= highstack; i++) { if (!winlist[i] && lastempty == -1) lastempty = i; else if (winlist[i] && lastempty != -1) { |