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).
This commit is contained in:
okan 2014-08-19 12:47:51 +00:00
parent 1192007171
commit 01cca3c114
2 changed files with 9 additions and 17 deletions

View File

@ -205,7 +205,6 @@ struct group_ctx {
struct client_ctx_q clients; struct client_ctx_q clients;
int shortcut; int shortcut;
int hidden; int hidden;
int highstack;
}; };
TAILQ_HEAD(group_ctx_q, group_ctx); TAILQ_HEAD(group_ctx_q, group_ctx);

25
group.c
View File

@ -68,12 +68,9 @@ group_hide(struct screen_ctx *sc, struct group_ctx *gc)
screen_updatestackingorder(sc); screen_updatestackingorder(sc);
gc->highstack = 0; TAILQ_FOREACH(cc, &gc->clients, group_entry)
TAILQ_FOREACH(cc, &gc->clients, group_entry) {
client_hide(cc); client_hide(cc);
if (cc->stackingorder > gc->highstack)
gc->highstack = cc->stackingorder;
}
gc->hidden = 1; gc->hidden = 1;
} }
@ -83,27 +80,23 @@ group_show(struct screen_ctx *sc, struct group_ctx *gc)
struct client_ctx *cc; struct client_ctx *cc;
Window *winlist; Window *winlist;
int i, lastempty = -1; int i, lastempty = -1;
int nwins = 0; int nwins = 0, highstack = 0;
gc->highstack = 0;
TAILQ_FOREACH(cc, &gc->clients, group_entry) { TAILQ_FOREACH(cc, &gc->clients, group_entry) {
if (cc->stackingorder > gc->highstack) if (cc->stackingorder > highstack)
gc->highstack = cc->stackingorder; highstack = cc->stackingorder;
} }
winlist = xcalloc((gc->highstack + 1), sizeof(*winlist)); winlist = xcalloc((highstack + 1), sizeof(*winlist));
/* /* Invert the stacking order for XRestackWindows(). */
* Invert the stacking order as XRestackWindows() expects them
* top-to-bottom.
*/
TAILQ_FOREACH(cc, &gc->clients, group_entry) { TAILQ_FOREACH(cc, &gc->clients, group_entry) {
winlist[gc->highstack - cc->stackingorder] = cc->win; winlist[highstack - cc->stackingorder] = cc->win;
client_unhide(cc); client_unhide(cc);
nwins++; nwins++;
} }
/* Un-sparseify */ /* Un-sparseify */
for (i = 0; i <= gc->highstack; i++) { for (i = 0; i <= highstack; i++) {
if (!winlist[i] && lastempty == -1) if (!winlist[i] && lastempty == -1)
lastempty = i; lastempty = i;
else if (winlist[i] && lastempty != -1) { else if (winlist[i] && lastempty != -1) {