summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-06-04 18:25:01 +0000
committerDana Jansens <danakj@orodu.net>2007-06-04 18:25:01 +0000
commitf869ec5121afaf74ff3a7a420923878c093f9c08 (patch)
treef48b337a10ce825dc12123fdf05aca38b12e0fd4
parent6e2d5ccc035539b71b98873ec6cfcea30f8e94a3 (diff)
when placing transients in the stacking order, only use relatives that are on screen or share the desktop or whatever, not iconic ones
-rw-r--r--openbox/stacking.c10
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