summaryrefslogtreecommitdiff
path: root/openbox/focus.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-06 08:32:03 +0000
committerDana Jansens <danakj@orodu.net>2007-05-06 08:32:03 +0000
commit277db2822d79a6000d31b93ec963ae87286d6ade (patch)
treed7221420025a7e745145c200bac43ba6b1e01e4c /openbox/focus.c
parent007e62fa7722cafcd5344976cb4b621931eae3b0 (diff)
a bunch of thigns got squashed into this commit.. sorry..
1. soem bug fixes for window stacking 2. clarify some functions behavior with their names 3. add (untested) support for legacy fullscreen apps. i have no idea what they do on a multihead xinerama setup though and if this would help there or need some changes.
Diffstat (limited to 'openbox/focus.c')
-rw-r--r--openbox/focus.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/openbox/focus.c b/openbox/focus.c
index fbac20ec..eead6000 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -306,12 +306,14 @@ static void popup_cycle(ObClient *c, gboolean show)
icon_popup_width(focus_cycle_popup, MAX(a->width/3, POPUP_WIDTH));
icon_popup_height(focus_cycle_popup, POPUP_HEIGHT);
- /* use the transient's parent's title/icon */
- p = client_search_top_parent(c);
+ /* find our highest direct parent, including non-normal windows */
+ for (p = c; p->transient_for && p->transient_for != OB_TRAN_GROUP;
+ p = p->transient_for);
if (c->desktop != DESKTOP_ALL && c->desktop != screen_desktop)
desk = screen_desktop_names[c->desktop];
+ /* use the transient's parent's title/icon if we don't have one */
if (p != c && !strcmp("", (c->iconic ? c->icon_title : c->title)))
title = g_strdup(p->iconic ? p->icon_title : p->title);
/*ptitle = g_strconcat((c->iconic ? c->icon_title : c->title),