summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openbox/client.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/openbox/client.c b/openbox/client.c
index a473fdb1..c4df3a87 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -258,7 +258,9 @@ void client_manage(Window window)
/* note the check against Type_Normal, not client_normal(self), which
would also include dialog types. in this case we want more strict
rules for focus */
- if ((config_focus_new && self->type == Type_Normal) ||
+ if ((config_focus_new &&
+ (self->type == Type_Normal ||
+ (self->type == Type_Dialog && !parent && !self->group))) ||
(parent && (client_focused(parent) ||
search_focus_tree(parent, parent)))) {
client_focus(self);