forked from enlightenment/enlightenment
Focus transient and modal windows if parent is focused.
SVN revision: 23369
This commit is contained in:
parent
6dd4c5f0fb
commit
aec7cc719f
|
@ -4547,7 +4547,11 @@ _e_border_eval(E_Border *bd)
|
||||||
/* Only set the window modal to the leader it there is no parent */
|
/* Only set the window modal to the leader it there is no parent */
|
||||||
if ((e_config->modal_windows) && (bd->client.netwm.state.modal) &&
|
if ((e_config->modal_windows) && (bd->client.netwm.state.modal) &&
|
||||||
((!bd->parent) || (bd->parent->modal != bd)))
|
((!bd->parent) || (bd->parent->modal != bd)))
|
||||||
bd->leader->modal = bd;
|
{
|
||||||
|
bd->leader->modal = bd;
|
||||||
|
if (bd->leader->focused)
|
||||||
|
e_border_focus_set(bd, 1, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
bd->client.icccm.fetch.client_leader = 0;
|
bd->client.icccm.fetch.client_leader = 0;
|
||||||
}
|
}
|
||||||
|
@ -4808,7 +4812,11 @@ _e_border_eval(E_Border *bd)
|
||||||
bd->parent = bd_parent;
|
bd->parent = bd_parent;
|
||||||
e_border_layer_set(bd, bd->parent->layer);
|
e_border_layer_set(bd, bd->parent->layer);
|
||||||
if ((e_config->modal_windows) && (bd->client.netwm.state.modal))
|
if ((e_config->modal_windows) && (bd->client.netwm.state.modal))
|
||||||
bd->parent->modal = bd;
|
{
|
||||||
|
bd->parent->modal = bd;
|
||||||
|
}
|
||||||
|
if (bd->parent->focused)
|
||||||
|
e_border_focus_set(bd, 1, 1);
|
||||||
}
|
}
|
||||||
bd->client.icccm.fetch.transient_for = 0;
|
bd->client.icccm.fetch.transient_for = 0;
|
||||||
}
|
}
|
||||||
|
@ -4977,12 +4985,20 @@ _e_border_eval(E_Border *bd)
|
||||||
if (bd->parent)
|
if (bd->parent)
|
||||||
{
|
{
|
||||||
if ((e_config->modal_windows) && (bd->client.netwm.state.modal))
|
if ((e_config->modal_windows) && (bd->client.netwm.state.modal))
|
||||||
bd->parent->modal = bd;
|
{
|
||||||
|
bd->parent->modal = bd;
|
||||||
|
if (bd->parent->focused)
|
||||||
|
e_border_focus_set(bd, 1, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (bd->leader)
|
else if (bd->leader)
|
||||||
{
|
{
|
||||||
if ((e_config->modal_windows) && (bd->client.netwm.state.modal))
|
if ((e_config->modal_windows) && (bd->client.netwm.state.modal))
|
||||||
bd->leader->modal = bd;
|
{
|
||||||
|
bd->leader->modal = bd;
|
||||||
|
if (bd->leader->focused)
|
||||||
|
e_border_focus_set(bd, 1, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
bd->client.netwm.update.state = 0;
|
bd->client.netwm.update.state = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue