fix maximize of fullscreen clients
This commit is contained in:
parent
891de2e299
commit
8110171858
|
@ -17,6 +17,7 @@ _ds_unmaximize_post(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
evas_object_geometry_get(ec->frame, &x, &y, NULL, NULL);
|
evas_object_geometry_get(ec->frame, &x, &y, NULL, NULL);
|
||||||
|
|
||||||
rect = evas_object_data_del(obj, "__DSUMAX");
|
rect = evas_object_data_del(obj, "__DSUMAX");
|
||||||
|
if (!rect) return;
|
||||||
evas_object_geometry_set(obj, rect->x, rect->y, rect->w, rect->h);
|
evas_object_geometry_set(obj, rect->x, rect->y, rect->w, rect->h);
|
||||||
free(rect);
|
free(rect);
|
||||||
efx_resize(ec->frame, EFX_EFFECT_SPEED_SINUSOIDAL, EFX_POINT(x, y), w, h, time, NULL, NULL);
|
efx_resize(ec->frame, EFX_EFFECT_SPEED_SINUSOIDAL, EFX_POINT(x, y), w, h, time, NULL, NULL);
|
||||||
|
@ -78,6 +79,17 @@ _ds_maximize(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNU
|
||||||
evas_object_data_set(ec->frame, "__DSMAX", (void*)1);
|
evas_object_data_set(ec->frame, "__DSMAX", (void*)1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ds_fullscreen(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
|
{
|
||||||
|
E_Client *ec = data;
|
||||||
|
|
||||||
|
evas_object_data_del(ec->frame, "__DSMAX");
|
||||||
|
free(evas_object_data_del(ec->frame, "__DSUMAX"));
|
||||||
|
ec->maximize_override = 0;
|
||||||
|
efx_resize_stop(ec->frame);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ds_maximize_check(E_Client *ec)
|
_ds_maximize_check(E_Client *ec)
|
||||||
{
|
{
|
||||||
|
@ -86,6 +98,7 @@ _ds_maximize_check(E_Client *ec)
|
||||||
evas_object_smart_callback_add(ec->frame, "unmaximize_pre", _ds_unmaximize_pre, ec);
|
evas_object_smart_callback_add(ec->frame, "unmaximize_pre", _ds_unmaximize_pre, ec);
|
||||||
evas_object_smart_callback_add(ec->frame, "unmaximize", _ds_unmaximize, ec);
|
evas_object_smart_callback_add(ec->frame, "unmaximize", _ds_unmaximize, ec);
|
||||||
evas_object_smart_callback_add(ec->frame, "unmaximize_done", _ds_unmaximize_post, ec);
|
evas_object_smart_callback_add(ec->frame, "unmaximize_done", _ds_unmaximize_post, ec);
|
||||||
|
evas_object_smart_callback_add(ec->frame, "fullscreen", _ds_fullscreen, ec);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
|
@ -117,6 +130,7 @@ maximize_shutdown(void)
|
||||||
evas_object_smart_callback_del(ec->frame, "unmaximize_pre", _ds_unmaximize_pre);
|
evas_object_smart_callback_del(ec->frame, "unmaximize_pre", _ds_unmaximize_pre);
|
||||||
evas_object_smart_callback_del(ec->frame, "unmaximize", _ds_unmaximize);
|
evas_object_smart_callback_del(ec->frame, "unmaximize", _ds_unmaximize);
|
||||||
evas_object_smart_callback_del(ec->frame, "unmaximize_done", _ds_unmaximize_post);
|
evas_object_smart_callback_del(ec->frame, "unmaximize_done", _ds_unmaximize_post);
|
||||||
|
evas_object_smart_callback_del(ec->frame, "fullscreen", _ds_fullscreen);
|
||||||
}
|
}
|
||||||
E_FREE_FUNC(eh, ecore_event_handler_del);
|
E_FREE_FUNC(eh, ecore_event_handler_del);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue