forked from enlightenment/enlightenment
adjust some client eval parts to make manual placement work again
activating the window_move action doesn't require the client to successfully be shown, and failing this check would cause the window_move action to be deleted until the next restart
This commit is contained in:
parent
55c83134c1
commit
2854352bc8
|
@ -1742,7 +1742,6 @@ _e_client_eval(E_Client *ec)
|
||||||
ec->x = new_x;
|
ec->x = new_x;
|
||||||
ec->y = new_y;
|
ec->y = new_y;
|
||||||
ec->changes.pos = 1;
|
ec->changes.pos = 1;
|
||||||
ec->placed = 1;
|
|
||||||
ec->pre_cb.x = ec->x; ec->pre_cb.y = ec->y;
|
ec->pre_cb.x = ec->x; ec->pre_cb.y = ec->y;
|
||||||
}
|
}
|
||||||
else if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h, zx, zy, zw, zh))
|
else if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h, zx, zy, zw, zh))
|
||||||
|
@ -1886,8 +1885,12 @@ _e_client_eval(E_Client *ec)
|
||||||
}
|
}
|
||||||
if (ec->changes.pos)
|
if (ec->changes.pos)
|
||||||
{
|
{
|
||||||
|
Eina_Bool placed = ec->placed;
|
||||||
|
|
||||||
ec->changes.pos = 0;
|
ec->changes.pos = 0;
|
||||||
evas_object_move(ec->frame, ec->x, ec->y);
|
evas_object_move(ec->frame, ec->x, ec->y);
|
||||||
|
if (e_config->window_placement_policy == E_WINDOW_PLACEMENT_MANUAL)
|
||||||
|
ec->placed = placed;
|
||||||
rem_change = 1;
|
rem_change = 1;
|
||||||
prop |= E_CLIENT_PROPERTY_POS;
|
prop |= E_CLIENT_PROPERTY_POS;
|
||||||
}
|
}
|
||||||
|
@ -1931,30 +1934,27 @@ _e_client_eval(E_Client *ec)
|
||||||
}
|
}
|
||||||
|
|
||||||
evas_object_show(ec->frame);
|
evas_object_show(ec->frame);
|
||||||
if (evas_object_visible_get(ec->frame))
|
if (ec->cur_mouse_action)
|
||||||
{
|
{
|
||||||
if (ec->cur_mouse_action)
|
ec->moveinfo.down.x = ec->x;
|
||||||
{
|
ec->moveinfo.down.y = ec->y;
|
||||||
ec->moveinfo.down.x = ec->x;
|
ec->moveinfo.down.w = ec->w;
|
||||||
ec->moveinfo.down.y = ec->y;
|
ec->moveinfo.down.h = ec->h;
|
||||||
ec->moveinfo.down.w = ec->w;
|
ec->mouse.current.mx = x;
|
||||||
ec->moveinfo.down.h = ec->h;
|
ec->mouse.current.my = y;
|
||||||
ec->mouse.current.mx = x;
|
ec->moveinfo.down.button = 0;
|
||||||
ec->mouse.current.my = y;
|
ec->moveinfo.down.mx = x;
|
||||||
ec->moveinfo.down.button = 0;
|
ec->moveinfo.down.my = y;
|
||||||
ec->moveinfo.down.mx = x;
|
|
||||||
ec->moveinfo.down.my = y;
|
|
||||||
|
|
||||||
e_object_ref(E_OBJECT(ec->cur_mouse_action));
|
e_object_ref(E_OBJECT(ec->cur_mouse_action));
|
||||||
ec->cur_mouse_action->func.go(E_OBJECT(ec), NULL);
|
ec->cur_mouse_action->func.go(E_OBJECT(ec), NULL);
|
||||||
if (e_config->border_raise_on_mouse_action)
|
if (e_config->border_raise_on_mouse_action)
|
||||||
evas_object_raise(ec->frame);
|
evas_object_raise(ec->frame);
|
||||||
evas_object_focus_set(ec->frame, 1);
|
evas_object_focus_set(ec->frame, 1);
|
||||||
}
|
|
||||||
ec->changes.visible = 0;
|
|
||||||
rem_change = 1;
|
|
||||||
_e_client_event_simple(ec, E_EVENT_CLIENT_SHOW);
|
|
||||||
}
|
}
|
||||||
|
ec->changes.visible = 0;
|
||||||
|
rem_change = 1;
|
||||||
|
_e_client_event_simple(ec, E_EVENT_CLIENT_SHOW);
|
||||||
}
|
}
|
||||||
else if ((ec->changes.visible) && (ec->new_client))
|
else if ((ec->changes.visible) && (ec->new_client))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue