parent
7a6a87b955
commit
d739ed0e2e
|
@ -420,6 +420,7 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal)
|
|||
ecore_x_window_shadow_tree_flush();
|
||||
e_object_del_func_set(E_OBJECT(bd), E_OBJECT_CLEANUP_FUNC(_e_border_del));
|
||||
|
||||
bd->focus_policy = e_config->focus_policy;
|
||||
bd->w = 1;
|
||||
bd->h = 1;
|
||||
/* FIXME: ewww - round trip */
|
||||
|
@ -7281,6 +7282,21 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->client.netwm.update.state = 1;
|
||||
}
|
||||
}
|
||||
else if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DESKTOP)
|
||||
{
|
||||
bd->focus_policy = E_FOCUS_CLICK;
|
||||
e_focus_setup(bd);
|
||||
if (!bd->client.netwm.state.skip_pager)
|
||||
{
|
||||
bd->client.netwm.state.skip_pager = 1;
|
||||
bd->client.netwm.update.state = 1;
|
||||
}
|
||||
if (!bd->client.netwm.state.skip_taskbar)
|
||||
{
|
||||
bd->client.netwm.state.skip_taskbar = 1;
|
||||
bd->client.netwm.update.state = 1;
|
||||
}
|
||||
}
|
||||
bd->client.netwm.fetch.type = 0;
|
||||
}
|
||||
if (bd->client.icccm.fetch.machine)
|
||||
|
@ -8115,6 +8131,8 @@ _e_border_eval0(E_Border *bd)
|
|||
bordername = bd->bordername;
|
||||
else if ((bd->client.mwm.borderless) || (bd->borderless))
|
||||
bordername = "borderless";
|
||||
else if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DESKTOP)
|
||||
bordername = "borderless";
|
||||
else if (((bd->client.icccm.transient_for != 0) ||
|
||||
(bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)) &&
|
||||
(bd->client.icccm.min_w == bd->client.icccm.max_w) &&
|
||||
|
|
|
@ -667,6 +667,7 @@ struct _E_Border
|
|||
Eina_Bool argb;
|
||||
|
||||
int tmp_input_hidden;
|
||||
int focus_policy;
|
||||
};
|
||||
|
||||
struct _E_Border_Pending_Move_Resize
|
||||
|
|
|
@ -27,8 +27,8 @@ e_focus_idler_before(void)
|
|||
EAPI void
|
||||
e_focus_event_mouse_in(E_Border *bd)
|
||||
{
|
||||
if ((e_config->focus_policy == E_FOCUS_MOUSE) ||
|
||||
(e_config->focus_policy == E_FOCUS_SLOPPY))
|
||||
if ((bd->focus_policy == E_FOCUS_MOUSE) ||
|
||||
(bd->focus_policy == E_FOCUS_SLOPPY))
|
||||
{
|
||||
e_border_focus_set(bd, 1, 1);
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ e_focus_event_mouse_in(E_Border *bd)
|
|||
EAPI void
|
||||
e_focus_event_mouse_out(E_Border *bd)
|
||||
{
|
||||
if (e_config->focus_policy == E_FOCUS_MOUSE)
|
||||
if (bd->focus_policy == E_FOCUS_MOUSE)
|
||||
{
|
||||
if (!bd->lock_focus_in)
|
||||
{
|
||||
|
@ -65,7 +65,7 @@ e_focus_event_mouse_down(E_Border *bd)
|
|||
{
|
||||
if (!bd->focused)
|
||||
{
|
||||
if (e_config->focus_policy == E_FOCUS_CLICK)
|
||||
if (bd->focus_policy == E_FOCUS_CLICK)
|
||||
e_border_focus_set(bd, 1, 1);
|
||||
else if (e_config->always_click_to_focus)
|
||||
e_border_focus_set(bd, 1, 1);
|
||||
|
@ -85,7 +85,7 @@ e_focus_event_mouse_up(E_Border *bd __UNUSED__)
|
|||
EAPI void
|
||||
e_focus_event_focus_in(E_Border *bd)
|
||||
{
|
||||
if ((e_config->focus_policy == E_FOCUS_CLICK) &&
|
||||
if ((bd->focus_policy == E_FOCUS_CLICK) &&
|
||||
(!e_config->always_click_to_raise) &&
|
||||
(!e_config->always_click_to_focus))
|
||||
{
|
||||
|
@ -104,7 +104,7 @@ e_focus_event_focus_in(E_Border *bd)
|
|||
EAPI void
|
||||
e_focus_event_focus_out(E_Border *bd)
|
||||
{
|
||||
if ((e_config->focus_policy == E_FOCUS_CLICK) &&
|
||||
if ((bd->focus_policy == E_FOCUS_CLICK) &&
|
||||
(!e_config->always_click_to_raise) &&
|
||||
(!e_config->always_click_to_focus))
|
||||
{
|
||||
|
@ -128,7 +128,7 @@ e_focus_event_focus_out(E_Border *bd)
|
|||
EAPI void
|
||||
e_focus_setup(E_Border *bd)
|
||||
{
|
||||
if ((e_config->focus_policy == E_FOCUS_CLICK) ||
|
||||
if ((bd->focus_policy == E_FOCUS_CLICK) ||
|
||||
(e_config->always_click_to_raise) ||
|
||||
(e_config->always_click_to_focus))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue