diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-03-11 16:58:19 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-03-11 16:58:19 +0000 |
| commit | 62a39c4c70b0ed8e153b0cccac853cc6fded99ba (patch) | |
| tree | 6cd8ffb1fd1ff5d2013aa78f712a0176c1ac6123 /openbox/focus.c | |
| parent | 1ff3c1dd9d99be6fd4b78e7ea594c1e19bcf39ae (diff) | |
stacking has been made more reliable with groups and group transients.
this was a pretty invasive change in client.c though, so it may break things?
it did expose some bugginess in client_calc_layer, which is now better than ever, hopefully there isn't more to be found.
Diffstat (limited to 'openbox/focus.c')
| -rw-r--r-- | openbox/focus.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/openbox/focus.c b/openbox/focus.c index 2d6804bc..73cb6f52 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -260,11 +260,15 @@ ObClient* focus_fallback_target(ObFocusFallbackType type) if (!config_focus_follow || config_focus_last) trans = TRUE; else { - if ((target = client_under_pointer()) && - client_search_transient - (client_search_top_transient(target), old)) - { - trans = TRUE; + if ((target = client_under_pointer())) { + GSList *sit; + + sit = client_search_top_transients(target); + for (; sit; sit = g_slist_next(sit)) + if (client_search_transient(sit->data, old)) { + trans = TRUE; + break; + } } } |
