summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-05-30 18:16:33 +0000
committerDana Jansens <danakj@orodu.net>2003-05-30 18:16:33 +0000
commit365a9fbb69f599990dae1d5e1458dbe58beff161 (patch)
treee32707bcf222776a1a0955e3c80911e255a5580c /openbox
parent6a947144cc0eb8325c248a5c682876c6c0da652d (diff)
adjust what gets raised on map a bit, a little less selective.
Diffstat (limited to 'openbox')
-rw-r--r--openbox/client.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/openbox/client.c b/openbox/client.c
index c7739fdd..0f2519cf 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -253,7 +253,8 @@ void client_manage(Window window)
focus_order_add_new(self);
/* focus the new window? */
- if (ob_state != State_Starting && config_focus_new) {
+ if (ob_state != State_Starting && config_focus_new &&
+ (self->type == Type_Normal || self->type == Type_Dialog)) {
gboolean group_foc = FALSE;
if (self->group) {
@@ -268,11 +269,9 @@ void client_manage(Window window)
/* note the check against Type_Normal/Dialog, not client_normal(self),
which would also include other types. in this case we want more
strict rules for focus */
- if (((self->type == Type_Normal ||
- (self->type == Type_Dialog &&
- (group_foc ||
- (!self->transient_for && (!self->group ||
- !self->group->members->next)))))) ||
+ if ((group_foc ||
+ (!self->transient_for && (!self->group ||
+ !self->group->members->next))) ||
client_search_focus_tree_full(self) ||
!focus_client ||
!client_normal(focus_client)) {