diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-06-04 18:25:01 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-06-04 18:25:01 +0000 |
| commit | f869ec5121afaf74ff3a7a420923878c093f9c08 (patch) | |
| tree | f48b337a10ce825dc12123fdf05aca38b12e0fd4 /openbox | |
| parent | 6e2d5ccc035539b71b98873ec6cfcea30f8e94a3 (diff) | |
when placing transients in the stacking order, only use relatives that are on screen or share the desktop or whatever, not iconic ones
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/stacking.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/openbox/stacking.c b/openbox/stacking.c index b6e81dbf..2c80ada0 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -382,8 +382,14 @@ static GList *find_highest_relative(ObClient *client) for (it = stacking_list; !ret && it; it = g_list_next(it)) { if (WINDOW_IS_CLIENT(it->data)) { ObClient *c = it->data; - /* only look at windows in the same layer */ - if (c->layer == client->layer) { + /* only look at windows in the same layer and that are + visible */ + if (c->layer == client->layer && + !c->iconic && + (c->desktop == client->desktop || + c->desktop == DESKTOP_ALL || + client->desktop == DESKTOP_ALL)) + { GSList *sit; /* go through each top level parent and see it this window |
