summaryrefslogtreecommitdiff
path: root/openbox/client.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-06-12 17:46:16 +0000
committerDana Jansens <danakj@orodu.net>2007-06-12 17:46:16 +0000
commit8f2e3f5fe16aeb0324aa5ee2b2c30a83ec724ad0 (patch)
treef22d24e2ba097bfb1a33e3639df0dbab98a33f53 /openbox/client.c
parentd57ea6ece7e91eb7876b7e31ab343f2b9b848986 (diff)
use the same decision code to focus new windows as for focus cycling or focus fallback. yay consistency.
Diffstat (limited to 'openbox/client.c')
-rw-r--r--openbox/client.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 29b27d1d..c6945d23 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -314,20 +314,13 @@ void client_manage(Window window)
/* focus the new window? */
if (ob_state() != OB_STATE_STARTING &&
(!self->session || self->session->focused) &&
- !self->iconic &&
/* this means focus=true for window is same as config_focus_new=true */
((config_focus_new || (settings && settings->focus == 1)) ||
client_search_focus_tree_full(self)) &&
/* this checks for focus=false for the window */
(!settings || settings->focus != 0) &&
- /* note the check against type Normal/Dialog/Utility,
- not client_normal(self), which would also include other types.
- in this case we want more strict rules for focus */
- (self->type == OB_CLIENT_TYPE_NORMAL ||
- self->type == OB_CLIENT_TYPE_UTILITY ||
- self->type == OB_CLIENT_TYPE_DIALOG))
+ focus_valid_target(self, FALSE, TRUE, FALSE, FALSE))
{
- /* XXX use focus_cycle_valid_target instead... */
activate = TRUE;
}