Merge branch 'backport' into work
This commit is contained in:
commit
c230443c65
2 changed files with 12 additions and 1 deletions
|
@ -140,7 +140,12 @@ static gboolean run_func(ObActionsData *data, gpointer options)
|
||||||
go = o->follow;
|
go = o->follow;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (go) screen_set_desktop(d, TRUE);
|
if (go) {
|
||||||
|
screen_set_desktop(d, TRUE);
|
||||||
|
if (data->client)
|
||||||
|
client_bring_helper_windows(data->client);
|
||||||
|
}
|
||||||
|
|
||||||
actions_client_move(data, FALSE);
|
actions_client_move(data, FALSE);
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
|
@ -202,6 +202,7 @@ void client_manage(Window window, ObPrompt *prompt)
|
||||||
gboolean transient = FALSE;
|
gboolean transient = FALSE;
|
||||||
Rect place, *monitor;
|
Rect place, *monitor;
|
||||||
Time launch_time, map_time;
|
Time launch_time, map_time;
|
||||||
|
gint user_time;
|
||||||
|
|
||||||
ob_debug("Managing window: 0x%lx", window);
|
ob_debug("Managing window: 0x%lx", window);
|
||||||
|
|
||||||
|
@ -264,6 +265,9 @@ void client_manage(Window window, ObPrompt *prompt)
|
||||||
/* tell startup notification that this app started */
|
/* tell startup notification that this app started */
|
||||||
launch_time = sn_app_started(self->startup_id, self->class, self->name);
|
launch_time = sn_app_started(self->startup_id, self->class, self->name);
|
||||||
|
|
||||||
|
if (!OBT_PROP_GET32(self->window, NET_WM_USER_TIME, CARDINAL, &user_time))
|
||||||
|
user_time = map_time;
|
||||||
|
|
||||||
/* do this after we have a frame.. it uses the frame to help determine the
|
/* do this after we have a frame.. it uses the frame to help determine the
|
||||||
WM_STATE to apply. */
|
WM_STATE to apply. */
|
||||||
client_change_state(self);
|
client_change_state(self);
|
||||||
|
@ -280,6 +284,8 @@ void client_manage(Window window, ObPrompt *prompt)
|
||||||
/* this means focus=true for window is same as config_focus_new=true */
|
/* this means focus=true for window is same as config_focus_new=true */
|
||||||
((config_focus_new || (settings && settings->focus == 1)) ||
|
((config_focus_new || (settings && settings->focus == 1)) ||
|
||||||
client_search_focus_tree_full(self)) &&
|
client_search_focus_tree_full(self)) &&
|
||||||
|
/* NET_WM_USER_TIME 0 when mapping means don't focus */
|
||||||
|
(user_time != 0) &&
|
||||||
/* this checks for focus=false for the window */
|
/* this checks for focus=false for the window */
|
||||||
(!settings || settings->focus != 0) &&
|
(!settings || settings->focus != 0) &&
|
||||||
focus_valid_target(self, FALSE, FALSE, TRUE, FALSE, FALSE))
|
focus_valid_target(self, FALSE, FALSE, TRUE, FALSE, FALSE))
|
||||||
|
|
Loading…
Reference in a new issue