menus - allow them on fullscreen windows if they are not override
This commit is contained in:
parent
2ae006cfbd
commit
38f9b6861f
|
@ -3774,6 +3774,8 @@ e_client_focused_set(E_Client *ec)
|
||||||
|
|
||||||
while ((ec_unfocus) && (ec_unfocus->zone))
|
while ((ec_unfocus) && (ec_unfocus->zone))
|
||||||
{
|
{
|
||||||
|
Eina_Bool is_popup, is_child;
|
||||||
|
|
||||||
ec_unfocus->want_focus = ec_unfocus->focused = 0;
|
ec_unfocus->want_focus = ec_unfocus->focused = 0;
|
||||||
if (!e_object_is_del(E_OBJECT(ec_unfocus)))
|
if (!e_object_is_del(E_OBJECT(ec_unfocus)))
|
||||||
e_focus_event_focus_out(ec_unfocus);
|
e_focus_event_focus_out(ec_unfocus);
|
||||||
|
@ -3783,8 +3785,26 @@ e_client_focused_set(E_Client *ec)
|
||||||
|
|
||||||
E_FREE_FUNC(ec_unfocus->raise_timer, ecore_timer_del);
|
E_FREE_FUNC(ec_unfocus->raise_timer, ecore_timer_del);
|
||||||
|
|
||||||
|
is_popup = EINA_FALSE;
|
||||||
|
is_child = EINA_FALSE;
|
||||||
|
if ((ec) &&
|
||||||
|
((ec->netwm.type == E_WINDOW_TYPE_MENU) ||
|
||||||
|
(ec->netwm.type == E_WINDOW_TYPE_TOOLBAR) ||
|
||||||
|
(ec->netwm.type == E_WINDOW_TYPE_DOCK) ||
|
||||||
|
(ec->netwm.type == E_WINDOW_TYPE_SPLASH) ||
|
||||||
|
(ec->netwm.type == E_WINDOW_TYPE_TOOLTIP) ||
|
||||||
|
(ec->netwm.type == E_WINDOW_TYPE_DROPDOWN_MENU) ||
|
||||||
|
(ec->netwm.type == E_WINDOW_TYPE_POPUP_MENU) ||
|
||||||
|
(ec->netwm.type == E_WINDOW_TYPE_COMBO) ||
|
||||||
|
(ec->netwm.type == E_WINDOW_TYPE_DND) ||
|
||||||
|
(ec->netwm.type == E_WINDOW_TYPE_NOTIFICATION)))
|
||||||
|
is_popup = EINA_TRUE;
|
||||||
|
if ((ec) && _e_client_is_in_parents(ec, ec_unfocus))
|
||||||
|
is_child = EINA_TRUE;
|
||||||
|
|
||||||
/* if there unfocus client is fullscreen and visible */
|
/* if there unfocus client is fullscreen and visible */
|
||||||
if ((!e_config->allow_above_fullscreen) &&
|
if ((!is_popup) && (!is_child) &&
|
||||||
|
(!e_config->allow_above_fullscreen) &&
|
||||||
(ec_unfocus->fullscreen) && (!ec_unfocus->iconic) && (!ec_unfocus->hidden) &&
|
(ec_unfocus->fullscreen) && (!ec_unfocus->iconic) && (!ec_unfocus->hidden) &&
|
||||||
(ec_unfocus->zone == e_zone_current_get()) &&
|
(ec_unfocus->zone == e_zone_current_get()) &&
|
||||||
((ec_unfocus->desk == e_desk_current_get(ec_unfocus->zone)) || (ec_unfocus->sticky)))
|
((ec_unfocus->desk == e_desk_current_get(ec_unfocus->zone)) || (ec_unfocus->sticky)))
|
||||||
|
|
Loading…
Reference in New Issue