don't activate on raise
This commit is contained in:
parent
eda6085586
commit
24a489e8e5
4 changed files with 8 additions and 27 deletions
|
@ -1368,7 +1368,7 @@ void action_raiselower(union ActionData *data)
|
||||||
ObClient *c = data->client.any.c;
|
ObClient *c = data->client.any.c;
|
||||||
|
|
||||||
client_action_start(data);
|
client_action_start(data);
|
||||||
stacking_restack_request(c, NULL, Opposite, FALSE);
|
stacking_restack_request(c, NULL, Opposite);
|
||||||
client_action_end(data, config_focus_under_mouse);
|
client_action_end(data, config_focus_under_mouse);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1077,12 +1077,10 @@ static void event_handle_client(ObClient *client, XEvent *e)
|
||||||
sibling = WINDOW_AS_CLIENT(win);
|
sibling = WINDOW_AS_CLIENT(win);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* activate it rather than just focus it */
|
|
||||||
if (!config_focus_under_mouse)
|
if (!config_focus_under_mouse)
|
||||||
ignore_start = event_start_ignore_all_enters();
|
ignore_start = event_start_ignore_all_enters();
|
||||||
stacking_restack_request(client, sibling,
|
stacking_restack_request(client, sibling,
|
||||||
e->xconfigurerequest.detail,
|
e->xconfigurerequest.detail);
|
||||||
TRUE);
|
|
||||||
if (!config_focus_under_mouse)
|
if (!config_focus_under_mouse)
|
||||||
event_end_ignore_all_enters(ignore_start);
|
event_end_ignore_all_enters(ignore_start);
|
||||||
|
|
||||||
|
@ -1420,7 +1418,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
|
||||||
ignore_start = event_start_ignore_all_enters();
|
ignore_start = event_start_ignore_all_enters();
|
||||||
/* just raise, don't activate */
|
/* just raise, don't activate */
|
||||||
stacking_restack_request(client, sibling,
|
stacking_restack_request(client, sibling,
|
||||||
e->xclient.data.l[2], FALSE);
|
e->xclient.data.l[2]);
|
||||||
if (!config_focus_under_mouse)
|
if (!config_focus_under_mouse)
|
||||||
event_end_ignore_all_enters(ignore_start);
|
event_end_ignore_all_enters(ignore_start);
|
||||||
|
|
||||||
|
|
|
@ -559,7 +559,7 @@ static gboolean stacking_occludes(ObClient *client, ObClient *sibling)
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean stacking_restack_request(ObClient *client, ObClient *sibling,
|
gboolean stacking_restack_request(ObClient *client, ObClient *sibling,
|
||||||
gint detail, gboolean activate)
|
gint detail)
|
||||||
{
|
{
|
||||||
gboolean ret = FALSE;
|
gboolean ret = FALSE;
|
||||||
|
|
||||||
|
@ -595,11 +595,6 @@ gboolean stacking_restack_request(ObClient *client, ObClient *sibling,
|
||||||
case Above:
|
case Above:
|
||||||
ob_debug("Restack request Above for client %s sibling %s\n",
|
ob_debug("Restack request Above for client %s sibling %s\n",
|
||||||
client->title, sibling ? sibling->title : "(all)");
|
client->title, sibling ? sibling->title : "(all)");
|
||||||
if (activate && !client->iconic && client_normal(client))
|
|
||||||
/* use user=TRUE because it is impossible to get a timestamp
|
|
||||||
for this */
|
|
||||||
client_activate(client, FALSE, TRUE);
|
|
||||||
else
|
|
||||||
stacking_raise(CLIENT_AS_WINDOW(client));
|
stacking_raise(CLIENT_AS_WINDOW(client));
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
break;
|
break;
|
||||||
|
@ -607,11 +602,6 @@ gboolean stacking_restack_request(ObClient *client, ObClient *sibling,
|
||||||
ob_debug("Restack request TopIf for client %s sibling %s\n",
|
ob_debug("Restack request TopIf for client %s sibling %s\n",
|
||||||
client->title, sibling ? sibling->title : "(all)");
|
client->title, sibling ? sibling->title : "(all)");
|
||||||
if (stacking_occluded(client, sibling)) {
|
if (stacking_occluded(client, sibling)) {
|
||||||
if (activate && !client->iconic && client_normal(client))
|
|
||||||
/* use user=TRUE because it is impossible to get a timestamp
|
|
||||||
for this */
|
|
||||||
client_activate(client, FALSE, TRUE);
|
|
||||||
else
|
|
||||||
stacking_raise(CLIENT_AS_WINDOW(client));
|
stacking_raise(CLIENT_AS_WINDOW(client));
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -621,11 +611,6 @@ gboolean stacking_restack_request(ObClient *client, ObClient *sibling,
|
||||||
"%s\n",
|
"%s\n",
|
||||||
client->title, sibling ? sibling->title : "(all)");
|
client->title, sibling ? sibling->title : "(all)");
|
||||||
if (stacking_occluded(client, sibling)) {
|
if (stacking_occluded(client, sibling)) {
|
||||||
if (activate && !client->iconic && client_normal(client))
|
|
||||||
/* use user=TRUE because it is impossible to get a timestamp
|
|
||||||
for this */
|
|
||||||
client_activate(client, FALSE, TRUE);
|
|
||||||
else
|
|
||||||
stacking_raise(CLIENT_AS_WINDOW(client));
|
stacking_raise(CLIENT_AS_WINDOW(client));
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,14 +65,12 @@ void stacking_below(ObWindow *window, ObWindow *below);
|
||||||
@param sibling Another client to compare to, or NULL to compare to all
|
@param sibling Another client to compare to, or NULL to compare to all
|
||||||
windows
|
windows
|
||||||
@param detail One of Above, Below, TopIf, BottomIf, Opposite
|
@param detail One of Above, Below, TopIf, BottomIf, Opposite
|
||||||
@param activate If TRUE, and if the window is going to be raised, it will
|
|
||||||
be activated instead
|
|
||||||
@return TRUE if the client was restacked
|
@return TRUE if the client was restacked
|
||||||
See http://tronche.com/gui/x/xlib/window/configure.html for details on
|
See http://tronche.com/gui/x/xlib/window/configure.html for details on
|
||||||
how each detail works with and without a sibling.
|
how each detail works with and without a sibling.
|
||||||
*/
|
*/
|
||||||
gboolean stacking_restack_request(struct _ObClient *client,
|
gboolean stacking_restack_request(struct _ObClient *client,
|
||||||
struct _ObClient *sibling,
|
struct _ObClient *sibling,
|
||||||
gint detail, gboolean activate);
|
gint detail);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue