[EGIT] [tools/enventor] master 01/01: edc_parser: Fix compile error.
jaehyun pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=0600579464dc5e9f7e7999f67090db0e7fccf7ce commit 0600579464dc5e9f7e7999f67090db0e7fccf7ce Author: Jaehyun Cho Date: Thu Sep 17 16:04:30 2015 +0900 edc_parser: Fix compile error. --- src/lib/edc_parser.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/edc_parser.c b/src/lib/edc_parser.c index 66be0ad..04aa803 100644 --- a/src/lib/edc_parser.c +++ b/src/lib/edc_parser.c @@ -288,7 +288,8 @@ cur_state_thread_blocking(void *data, Ecore_Thread *thread EINA_UNUSED) /* Exception cases like: desc {image.normal: "img";} */ int alpha_present = 0; - for (char *string_itr = name_begin; (string_itr > p) && (!alpha_present); string_itr--) + char *string_itr; + for (string_itr = name_begin; (string_itr > p) && (!alpha_present); string_itr--) alpha_present = isalpha((int)*string_itr); if (alpha_present && desc_idx == 0) --
[EGIT] [apps/terminology] terminology-0.9 01/01: terminology 0.9.1 release
billiob pushed a commit to branch terminology-0.9. http://git.enlightenment.org/apps/terminology.git/commit/?id=e963bfb37ff8bd0175c1a2f22b07bbde061e9d63 commit e963bfb37ff8bd0175c1a2f22b07bbde061e9d63 Author: Boris Faure Date: Thu Sep 17 11:48:30 2015 +0200 terminology 0.9.1 release --- ChangeLog | 7 +++ Marrakesh.mrk | 2 +- NEWS | 13 - configure.ac | 2 +- man/terminology.1 | 2 +- 5 files changed, 22 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 28f4de7..a0bd9e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2015-09-17 +* Release v0.9.1 +* Fix resizing issue +* Fix solarized theme +* Handle Ctrl-[2-8] when tab key bindings are removed + + 2015-09-06 * Release v0.9.0 diff --git a/Marrakesh.mrk b/Marrakesh.mrk index a9f88e6..0feb521 100644 --- a/Marrakesh.mrk +++ b/Marrakesh.mrk @@ -5,7 +5,7 @@ PROJ: Terminology PROJICON: data/icons/terminology.png BRIEF: A beautiful terminal emulator for the commandline emulator -VERSION: 0.9.00 +VERSION: 0.9.1 LICENSE: BSD-2 COPYING: COPYING AUTHORS NEEDS: 1.11 diff --git a/NEWS b/NEWS index b534fbd..4e5e79b 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,18 @@ = -Terminology 0.9.0 +Terminology 0.9.1 = +Changes since 0.9.0: + + +Improvement: +* Handle Ctrl-[2-8] when tab key bindings are removed + +Fixes: +* Fix resizing issue +* Fix solarized theme + + Changes since 0.8.0: diff --git a/configure.ac b/configure.ac index a59f31c..80efdea 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ dnl Process this file with autoconf to produce a configure script. # get rid of that stupid cache mechanism rm -f config.cache -AC_INIT([terminology], [0.9.0], [enlightenment-de...@lists.sourceforge.net]) +AC_INIT([terminology], [0.9.1], [enlightenment-de...@lists.sourceforge.net]) AC_PREREQ([2.60]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/man/terminology.1 b/man/terminology.1 index e474d74..75c4083 100644 --- a/man/terminology.1 +++ b/man/terminology.1 @@ -1,5 +1,5 @@ .\" Manpage for Terminology -.TH man 1 "06 September 2015" "0.9" "Terminology man page" +.TH man 1 "17 September 2015" "0.9.1" "Terminology man page" .SH NAME Terminology \- Terminal Emulator written with EFL (Enlightenment Foundation Libraries). .SH SYNOPSIS --
[EGIT] [core/efl] master 01/01: edje_edit: delete gradient funcs prototope
rimmed pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1943d32de6a0a2bfd3126c9eeeb677248d4afb7f commit 1943d32de6a0a2bfd3126c9eeeb677248d4afb7f Author: Vyacheslav Reutskiy Date: Thu Sep 17 14:28:35 2015 +0300 edje_edit: delete gradient funcs prototope This API was defined in the Edje_Edit.h but haven't implementation. Given the fact that gradient is not supported and print 'SPANK' error on load have sense to delete them. --- src/lib/edje/Edje_Edit.h | 280 --- 1 file changed, 280 deletions(-) diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h index 0e0bb32..8a31f14 100644 --- a/src/lib/edje/Edje_Edit.h +++ b/src/lib/edje/Edje_Edit.h @@ -5389,286 +5389,6 @@ EAPI Eina_Bool edje_edit_spectra_stop_color_set(Evas_Object *obj, const char *sp //@} /**/ -/* GRADIENT API ***/ -/**/ -/** @name Gradient API - * Functions to deal with gradient objects (see @ref edcref). - */ //@{ - -/** Get the type of gradient. - * - * Remember to free the string with edje_edit_string_free(). - * - * @param obj Object being edited. - * @param part The part that contain state. - * @param state The name of the state to get the gradient type (not including the state value). - * @param value The state value. - * - * @return The type of gradient used in state. - * (linear, linear.diag, linear.codiag, radial, rectangular, angular, sinosoidal) - */ -EAPI const char * edje_edit_state_gradient_type_get(Evas_Object *obj, const char *part, const char *state, double value); - -/** Set the type of gradient. - * - * Gradient type can be on of the following: linear, linear.diag, linear.codiag, radial, rectangular, angular, sinusoidal - * - * @param obj Object being edited. - * @param part The part that contain state. - * @param state The name of the state to set the gradient type (not including the state value). - * @param value The state value. - * @param type The type of gradient to use. - * - * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise. - */ -EAPI Eina_Bool edje_edit_state_gradient_type_set(Evas_Object *obj, const char *part, const char *state, double value, const char *type); - -/** Get if the current gradient use the fill properties or the gradient_rel as params. - * - * @param obj Object being edited. - * @param part The part that contain state. - * @param state The name of the state to set the gradient type (not including the state value). - * @param value The state value. - * - * @return @c EINA_TRUE if gradient use the fill properties, @c EINA_FALSE otherwise. - * */ -EAPI Eina_Bool edje_edit_state_gradient_use_fill_get(Evas_Object *obj, const char *part, const char *state, double value); - -/** Get the spectra used by part state. - * - * Remember to free the string with edje_edit_string_free(). - * - * @param obj Object being edited. - * @param part The part that contain state. - * @param state The name of the state to get the spectra name used (not including the state value). - * @param value The state value. - * - * @return The spectra name used in state. - */ -EAPI const char * edje_edit_state_gradient_spectra_get(Evas_Object *obj, const char *part, const char *state, double value); - -/** Set the spectra used by part state. - * - * @param obj Object being edited. - * @param part The part that contain state. - * @param state The name of the state to set the spectra (not including the state value). - * @param value The state value. - * @param spectra The spectra name to assign - * - * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise. - */ -EAPI Eina_Bool edje_edit_state_gradient_spectra_set(Evas_Object *obj, const char *part, const char *state, double value, const char *spectra); - -/** Get the angle of the gradient. - * - * @param obj Object being edited. - * @param part The part that contain state. - * @param state The name of the state to get the angle (not including the state value). - * @param value The state value. - * - * @return The angle of the gradient. - */ -EAPI int edje_edit_state_gradient_angle_get(Evas_Object *obj, const char *part, const char *state, double value); - -/** Set the angle of the gradient. - * - * @param obj Object being edited. - * @param part The part that contain state. - * @param state The name of the state to set the angle (not including the state value). - * @param value The state value. - * @param angle The angle to set. - */ -EAPI void edje_edit_state_gradient_angle_set(Evas_Object *obj, const char *part, const char *state, double value, int angle); - -/** Get the gradient rel1 horizontal relative value - * - * @param obj Object being edited. - * @param part The part that contain state. - * @param state T
[EGIT] [core/enlightenment] master 02/14: rename E_Comp_Grab_Cb to E_Comp_Cb
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=14d52506a0d6860e893351aee9fd095dbaad6a31 commit 14d52506a0d6860e893351aee9fd095dbaad6a31 Author: Mike Blumenkrantz Date: Thu Sep 17 16:31:07 2015 -0400 rename E_Comp_Grab_Cb to E_Comp_Cb this is a super generic global callback type which will never be used elsewhere, so rename it to make it potentially useful in other places --- src/bin/e_comp.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h index 80c08f1..2c9c9d6 100644 --- a/src/bin/e_comp.h +++ b/src/bin/e_comp.h @@ -54,7 +54,7 @@ typedef enum _E_Layer extern E_API int E_EVENT_COMPOSITOR_DISABLE; extern E_API int E_EVENT_COMPOSITOR_ENABLE; -typedef void (*E_Comp_Grab_Cb)(void); +typedef void (*E_Comp_Cb)(void); typedef struct E_Comp_Screen_Iface { @@ -143,9 +143,9 @@ struct _E_Comp unsigned intinput_key_grabs; unsigned intinput_mouse_grabs; - E_Comp_Grab_Cbgrab_cb; - E_Comp_Grab_Cbbindings_grab_cb; - E_Comp_Grab_Cbbindings_ungrab_cb; + E_Comp_Cbgrab_cb; + E_Comp_Cbbindings_grab_cb; + E_Comp_Cbbindings_ungrab_cb; Eina_Bool gl : 1; Eina_Bool grabbed : 1; --
[EGIT] [core/enlightenment] master 01/14: enforce gathering client moveinfo before beginning move/resize action
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=f5657fc6c1df149d7d4b768f3654c2a05295ae3a commit f5657fc6c1df149d7d4b768f3654c2a05295ae3a Author: Mike Blumenkrantz Date: Thu Sep 17 16:29:20 2015 -0400 enforce gathering client moveinfo before beginning move/resize action --- src/bin/e_client.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index e89eafa..faabd9f 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -4280,12 +4280,6 @@ e_client_act_move_begin(E_Client *ec, E_Binding_Event_Mouse_Button *ev) E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE); if (!ec->zone) return; if (e_client_util_resizing_get(ec) || (ec->moving)) return; - if (!_e_client_move_begin(ec)) - return; - - _e_client_action_init(ec); - e_zone_edge_disable(); - e_pointer_mode_push(ec, E_POINTER_MOVE); if (ev) { char source[256]; @@ -4293,6 +4287,12 @@ e_client_act_move_begin(E_Client *ec, E_Binding_Event_Mouse_Button *ev) snprintf(source, sizeof(source) - 1, "mouse,down,%i", ev->button); _e_client_moveinfo_gather(ec, source); } + if (!_e_client_move_begin(ec)) + return; + + _e_client_action_init(ec); + e_zone_edge_disable(); + e_pointer_mode_push(ec, E_POINTER_MOVE); } E_API void @@ -4645,10 +4645,10 @@ e_client_signal_move_begin(E_Client *ec, const char *sig, const char *src EINA_U if (!ec->zone) return; if (e_client_util_resizing_get(ec) || (ec->moving)) return; + _e_client_moveinfo_gather(ec, sig); if (!_e_client_move_begin(ec)) return; e_pointer_mode_push(ec, E_POINTER_MOVE); e_zone_edge_disable(); - _e_client_moveinfo_gather(ec, sig); } E_API void --
[EGIT] [core/enlightenment] master 08/14: add smart callback for comp object hiding animation begin
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=f7d3952ec015810affe86c387ef0a43add65eef2 commit f7d3952ec015810affe86c387ef0a43add65eef2 Author: Mike Blumenkrantz Date: Thu Sep 17 16:41:02 2015 -0400 add smart callback for comp object hiding animation begin it's impossible to determine this at the time of calling without adding some sort of callback here; edje signals are deferred, meaning that an interested user will not be able to check the state of a client when it begins to hide --- src/bin/e_comp_object.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 675c9cc..5f62923 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -1395,6 +1395,7 @@ _e_comp_intercept_hide(void *data, Evas_Object *obj) _e_comp_object_animating_begin(cw); if (!_e_comp_object_effect_visibility_start(cw, 0)) return; } + evas_object_smart_callback_call(obj, "hiding", cw->ec); cw->defer_hide = !!cw->animating; if (!cw->animating) e_comp_object_effect_set(obj, NULL); --
[EGIT] [core/enlightenment] master 03/14: enable depth+stencil bits for x11 gl compositor canvas creation
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=a99bc68baacb55420be0aed11bab6900150b16b6 commit a99bc68baacb55420be0aed11bab6900150b16b6 Author: Mike Blumenkrantz Date: Thu Sep 17 16:31:53 2015 -0400 enable depth+stencil bits for x11 gl compositor canvas creation --- src/bin/e_comp_x_randr.c | 8 1 file changed, 8 insertions(+) diff --git a/src/bin/e_comp_x_randr.c b/src/bin/e_comp_x_randr.c index 5a42be1..73ff806 100644 --- a/src/bin/e_comp_x_randr.c +++ b/src/bin/e_comp_x_randr.c @@ -872,6 +872,14 @@ e_comp_x_randr_canvas_new(Ecore_Window parent, int w, int h) } if (opt_i > 0) { + opt[opt_i] = ECORE_EVAS_GL_X11_OPT_GL_DEPTH; + opt_i++; + opt[opt_i] = 24; + opt_i++; + opt[opt_i] = ECORE_EVAS_GL_X11_OPT_GL_STENCIL; + opt_i++; + opt[opt_i] = 8; + opt_i++; opt[opt_i] = ECORE_EVAS_GL_X11_OPT_NONE; e_comp->ee = ecore_evas_gl_x11_options_new(NULL, parent, 0, 0, w, h, opt); } --
[EGIT] [core/enlightenment] master 11/14: set comp object mirror alpha flag more accurately on creation
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=e669eb9998c2e633ac491c4ce6f6db57cf2790f5 commit e669eb9998c2e633ac491c4ce6f6db57cf2790f5 Author: Mike Blumenkrantz Date: Thu Sep 17 16:48:02 2015 -0400 set comp object mirror alpha flag more accurately on creation --- src/bin/e_comp_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 76036ce..49e47bd 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -3614,7 +3614,7 @@ e_comp_object_util_mirror_add(Evas_Object *obj) evas_object_data_set(o, "E_Client", cw->ec); evas_object_data_set(o, "comp_mirror", cw); - evas_object_image_alpha_set(o, cw->ec->argb || (!!cw->ec->shaped)); + evas_object_image_alpha_set(o, evas_object_image_alpha_get(cw->obj)); evas_object_image_size_set(o, w, h); if (cw->ec->shaped) --
[EGIT] [core/enlightenment] master 13/14: always send CLIENT_SHOW event when clients are shown
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=e8a9ba34b08a07e35f43ea3cdc3a94cc0c21b291 commit e8a9ba34b08a07e35f43ea3cdc3a94cc0c21b291 Author: Mike Blumenkrantz Date: Thu Sep 17 19:06:12 2015 -0400 always send CLIENT_SHOW event when clients are shown I think it was the case for iconic) - _e_client_event_simple(data, E_EVENT_CLIENT_SHOW); + _e_client_event_simple(data, E_EVENT_CLIENT_SHOW); } static void --
[EGIT] [core/enlightenment] master 09/14: add function for overriding the native surface of a client's comp object
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=e01009e1b57db2079ec6c0e988b8a7919c21cb18 commit e01009e1b57db2079ec6c0e988b8a7919c21cb18 Author: Mike Blumenkrantz Date: Thu Sep 17 16:44:23 2015 -0400 add function for overriding the native surface of a client's comp object it's a pretty trivial thing to hand-composite a client, so this will allow someone to do something like render out a gaussian blur to an fbo using a client's texture and then render the fbo onto the compositor canvas with minimal overhead --- src/bin/e_comp_object.c | 41 ++--- src/bin/e_comp_object.h | 1 + 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 5f62923..71fb9e5 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -91,6 +91,8 @@ typedef struct _E_Comp_Object Eina_Tiler *updates; //render update regions Eina_Tiler *pending_updates; //render update regions which are about to render + Evas_Native_Surface *ns; //for custom gl rendering + unsigned int update_count; // how many updates have happened to this obj unsigned int opacity; // opacity set with _NET_WM_WINDOW_OPACITY @@ -276,7 +278,7 @@ _e_comp_object_alpha_set(E_Comp_Object *cw) { Eina_Bool alpha = cw->ec->argb; - if (cw->ec->shaped) alpha = EINA_TRUE; + if (cw->ns || cw->ec->shaped) alpha = EINA_TRUE; evas_object_image_alpha_set(cw->obj, alpha); } @@ -2158,6 +2160,7 @@ _e_comp_smart_del(Evas_Object *obj) e_comp_object_render_update_del(cw->smart_obj); E_FREE_FUNC(cw->updates, eina_tiler_free); E_FREE_FUNC(cw->pending_updates, eina_tiler_free); + free(cw->ns); if (cw->obj_mirror) { @@ -3344,13 +3347,32 @@ e_comp_object_native_surface_set(Evas_Object *obj, Eina_Bool set) /* native requires gl enabled, texture from pixmap enabled, and a non-shaped client */ set = (e_comp->gl && e_comp_config_get()->texture_from_pixmap && (!cw->ec->shaped)); if (set) - set = e_pixmap_native_surface_init(cw->ec->pixmap, &ns); + set = (!!cw->ns) || e_pixmap_native_surface_init(cw->ec->pixmap, &ns); } cw->native = set; - evas_object_image_native_surface_set(cw->obj, set ? &ns : NULL); + evas_object_image_native_surface_set(cw->obj, set ? (cw->ns ?: &ns) : NULL); EINA_LIST_FOREACH(cw->obj_mirror, l, o) - evas_object_image_native_surface_set(o, set ? &ns : NULL); + { +evas_object_image_alpha_set(o, !!cw->ns ? 1 : cw->ec->argb); +evas_object_image_native_surface_set(o, set ? (cw->ns ?: &ns) : NULL); + } +} + +E_API void +e_comp_object_native_surface_override(Evas_Object *obj, Evas_Native_Surface *ns) +{ + API_ENTRY; + if (cw->ec->input_only) return; + E_FREE(cw->ns); + if (ns) + cw->ns = (Evas_Native_Surface*)eina_memdup((unsigned char*)ns, sizeof(Evas_Native_Surface), 0); + _e_comp_object_alpha_set(cw); + if (cw->native) + e_comp_object_native_surface_set(obj, cw->native); + e_comp_object_damage(obj, 0, 0, cw->w, cw->h); +} + } /* mark an object as dirty and setup damages */ @@ -3600,10 +3622,15 @@ e_comp_object_util_mirror_add(Evas_Object *obj) { if (cw->native) { - Evas_Native_Surface ns; + if (cw->ns) + evas_object_image_native_surface_set(o, cw->ns); + else + { + Evas_Native_Surface ns; - e_pixmap_native_surface_init(cw->ec->pixmap, &ns); - evas_object_image_native_surface_set(o, &ns); + e_pixmap_native_surface_init(cw->ec->pixmap, &ns); + evas_object_image_native_surface_set(o, &ns); + } } else { diff --git a/src/bin/e_comp_object.h b/src/bin/e_comp_object.h index ea33f6a..e06f738 100644 --- a/src/bin/e_comp_object.h +++ b/src/bin/e_comp_object.h @@ -71,6 +71,7 @@ E_API void e_comp_object_render_update_del(Evas_Object *obj); E_API void e_comp_object_shape_apply(Evas_Object *obj); E_API void e_comp_object_redirected_set(Evas_Object *obj, Eina_Bool set); E_API void e_comp_object_native_surface_set(Evas_Object *obj, Eina_Bool set); +E_API void e_comp_object_native_surface_override(Evas_Object *obj, Evas_Native_Surface *ns); E_API void e_comp_object_dirty(Evas_Object *obj); E_API Eina_Bool e_comp_object_render(Evas_Object *obj); EAPI Eina_Bool e_comp_object_effect_allowed_get(Evas_Object *obj); --
[EGIT] [core/enlightenment] master 05/14: add function for getting x11 pixmap from E_Pixmap
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=441e266a835d944933d90f1563317d2bc6fd556e commit 441e266a835d944933d90f1563317d2bc6fd556e Author: Mike Blumenkrantz Date: Thu Sep 17 16:35:55 2015 -0400 add function for getting x11 pixmap from E_Pixmap --- src/bin/e_pixmap.c | 10 ++ src/bin/e_pixmap.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c index 48dc771..8d09e0b 100644 --- a/src/bin/e_pixmap.c +++ b/src/bin/e_pixmap.c @@ -305,6 +305,16 @@ e_pixmap_visual_get(const E_Pixmap *cp) return NULL; } +E_API uint32_t +e_pixmap_pixmap_get(const E_Pixmap *cp) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(cp, 0); +#ifndef HAVE_WAYLAND_ONLY + if (e_pixmap_is_x(cp)) return cp->pixmap; +#endif + return 0; +} + E_API void e_pixmap_usable_set(E_Pixmap *cp, Eina_Bool set) { diff --git a/src/bin/e_pixmap.h b/src/bin/e_pixmap.h index c7c7a0c..73bf6f8 100644 --- a/src/bin/e_pixmap.h +++ b/src/bin/e_pixmap.h @@ -23,6 +23,7 @@ E_API void e_pixmap_parent_window_set(E_Pixmap *cp, Ecore_Window win); E_API void e_pixmap_visual_cmap_set(E_Pixmap *cp, void *visual, unsigned int cmap); E_API unsigned int e_pixmap_failures_get(const E_Pixmap *cp); E_API void *e_pixmap_visual_get(const E_Pixmap *cp); +E_API uint32_t e_pixmap_pixmap_get(const E_Pixmap *cp); E_API Eina_Bool e_pixmap_dirty_get(E_Pixmap *cp); E_API void e_pixmap_clear(E_Pixmap *cp); E_API void e_pixmap_usable_set(E_Pixmap *cp, Eina_Bool set); --
[EGIT] [core/enlightenment] master 14/14: add function to blank out a client's rendered image
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=7d2a55f7e9a2d940d3e5f854c9e8bc250af9f4a8 commit 7d2a55f7e9a2d940d3e5f854c9e8bc250af9f4a8 Author: Mike Blumenkrantz Date: Thu Sep 17 16:48:43 2015 -0400 add function to blank out a client's rendered image when working with Extremely Serious effects, it may be the case that a user is rendering at such an advanced level that any attempt by enlightenment to perform rendering will be like a child trying to reproduce a masterpiece of art while using fingerpaints https://www.youtube.com/watch?v=tY6qag5KFx0&hd=1 --- src/bin/e_comp_object.c | 32 ++-- src/bin/e_comp_object.h | 1 + 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 49e47bd..725e0e3 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -124,6 +124,7 @@ typedef struct _E_Comp_Object Eina_Boolforce_move : 1; Eina_Boolframe_extends : 1; //frame may extend beyond object size + Eina_Boolblanked : 1; //window is rendering blank content (externally composited) } E_Comp_Object; @@ -278,7 +279,7 @@ _e_comp_object_alpha_set(E_Comp_Object *cw) { Eina_Bool alpha = cw->ec->argb; - if (cw->ns || cw->ec->shaped) alpha = EINA_TRUE; + if (cw->blanked || cw->ns || cw->ec->shaped) alpha = EINA_TRUE; evas_object_image_alpha_set(cw->obj, alpha); } @@ -3355,7 +3356,7 @@ e_comp_object_native_surface_set(Evas_Object *obj, Eina_Bool set) } cw->native = set; - evas_object_image_native_surface_set(cw->obj, set ? (cw->ns ?: &ns) : NULL); + evas_object_image_native_surface_set(cw->obj, set && (!cw->blanked) ? (cw->ns ?: &ns) : NULL); EINA_LIST_FOREACH(cw->obj_mirror, l, o) { evas_object_image_alpha_set(o, !!cw->ns ? 1 : cw->ec->argb); @@ -3377,6 +3378,25 @@ e_comp_object_native_surface_override(Evas_Object *obj, Evas_Native_Surface *ns) e_comp_object_damage(obj, 0, 0, cw->w, cw->h); } +E_API void +e_comp_object_blank(Evas_Object *obj, Eina_Bool set) +{ + API_ENTRY; + + set = !!set; + + if (cw->blanked == set) return; + cw->blanked = set; + _e_comp_object_alpha_set(cw); + if (set) + { +evas_object_image_native_surface_set(cw->obj, NULL); +evas_object_image_data_set(cw->obj, NULL); +return; + } + if (cw->native) + e_comp_object_native_surface_set(obj, 1); + e_comp_object_damage(obj, 0, 0, cw->w, cw->h); } /* mark an object as dirty and setup damages */ @@ -3395,7 +3415,7 @@ e_comp_object_dirty(Evas_Object *obj) dirty = e_pixmap_size_get(cw->ec->pixmap, &w, &h); visible = cw->visible; if (!dirty) w = h = 1; - evas_object_image_pixels_dirty_set(cw->obj, dirty); + evas_object_image_pixels_dirty_set(cw->obj, cw->blanked ? 0 : dirty); if (!dirty) evas_object_image_data_set(cw->obj, NULL); evas_object_image_size_set(cw->obj, w, h); @@ -3531,12 +3551,12 @@ e_comp_object_render(Evas_Object *obj) if (e_comp->comp_type == E_PIXMAP_TYPE_WL) { #warning FIXME BROKEN WAYLAND SHM BUFFER PROTOCOL - evas_object_image_data_copy_set(cw->obj, pix); + evas_object_image_data_copy_set(cw->obj, cw->blanked ? NULL : pix); pix = evas_object_image_data_get(cw->obj, 0); evas_object_image_data_set(cw->obj, pix); } else - evas_object_image_data_set(cw->obj, pix); + evas_object_image_data_set(cw->obj, cw->blanked ? NULL : pix); EINA_LIST_FOREACH(cw->obj_mirror, l, o) { evas_object_image_data_set(o, pix); @@ -3570,7 +3590,7 @@ e_comp_object_render(Evas_Object *obj) e_pixmap_image_data_argb_convert(cw->ec->pixmap, pix, srcpix, r, stride); RENDER_DEBUG("UPDATE [%p]: %d %d %dx%d -- pix = %p", cw->ec, r->x, r->y, r->w, r->h, pix); } - evas_object_image_data_set(cw->obj, pix); + evas_object_image_data_set(cw->obj, cw->blanked ? NULL : pix); EINA_LIST_FOREACH(cw->obj_mirror, l, o) { evas_object_image_data_set(o, pix); diff --git a/src/bin/e_comp_object.h b/src/bin/e_comp_object.h index e06f738..aca2ba4 100644 --- a/src/bin/e_comp_object.h +++ b/src/bin/e_comp_object.h @@ -72,6 +72,7 @@ E_API void e_comp_object_shape_apply(Evas_Object *obj); E_API void e_comp_object_redirected_set(Evas_Object *obj, Eina_Bool set); E_API void e_comp_object_native_surface_set(Evas_Object *obj, Eina_Bool set); E_API void e_comp_object_native_surface_override(Evas_Object *obj, Evas_Native_Surface *ns); +E_API void e_comp_object_blank(Evas_Object *obj, Eina_Bool set); E_API void e_comp_object_dirty(Evas_Object *obj); E_API Eina_Bool e_comp_object_render(Evas_Object *obj); EAPI Eina_Bool e_comp_object_effect_allowed_get(Evas_Object *obj); --
[EGIT] [core/enlightenment] master 06/14: alias x11 pixmaps to parent windows during reparent
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=1f3e730964549def4f962eda2e9a2147da484e92 commit 1f3e730964549def4f962eda2e9a2147da484e92 Author: Mike Blumenkrantz Date: Thu Sep 17 16:36:38 2015 -0400 alias x11 pixmaps to parent windows during reparent failure to allow pixmaps/clients to be retrived by parent window will result in api users being greatly inconvenienced after a reparenting has occurred --- src/bin/e_comp_x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index 72535c6..cc619ed 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -2996,6 +2996,7 @@ _e_comp_x_hook_client_pre_frame_assign(void *d EINA_UNUSED, E_Client *ec) if (!ec->internal) ecore_x_window_save_set_add(win); ecore_x_window_reparent(win, pwin, 0, 0); + e_pixmap_alias(ep, E_PIXMAP_TYPE_X, pwin); { unsigned int managed = 1; @@ -4457,6 +4458,7 @@ _e_comp_x_hook_client_del(void *d EINA_UNUSED, E_Client *ec) ecore_x_window_reparent(win, e_comp->root, cd->initial_attributes.x, cd->initial_attributes.y); + e_pixmap_alias(NULL, E_PIXMAP_TYPE_X, pwin); if (!ec->internal) ecore_x_window_save_set_del(win); } --
[EGIT] [core/enlightenment] master 07/14: create util function for enforcing comp object image alpha setting
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=e09b0d3e032e1f9c01d1e4d17f865082ea771ab3 commit e09b0d3e032e1f9c01d1e4d17f865082ea771ab3 Author: Mike Blumenkrantz Date: Thu Sep 17 16:39:42 2015 -0400 create util function for enforcing comp object image alpha setting this can be set in a couple places, so move all the logic into a single caller to ensure correct setting --- src/bin/e_comp_object.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index e6176da..675c9cc 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -271,6 +271,15 @@ _e_comp_object_layers_remove(E_Comp_Object *cw) } / +static void +_e_comp_object_alpha_set(E_Comp_Object *cw) +{ + Eina_Bool alpha = cw->ec->argb; + + if (cw->ec->shaped) alpha = EINA_TRUE; + + evas_object_image_alpha_set(cw->obj, alpha); +} static void _e_comp_object_shadow(E_Comp_Object *cw) @@ -1515,7 +1524,7 @@ _e_comp_intercept_show(void *data, Evas_Object *obj EINA_UNUSED) evas_object_image_smooth_scale_set(cw->obj, e_comp_config_get()->smooth_windows); evas_object_name_set(cw->obj, "cw->obj"); evas_object_image_colorspace_set(cw->obj, EVAS_COLORSPACE_ARGB); -evas_object_image_alpha_set(cw->obj, ec->argb); +_e_comp_object_alpha_set(cw); #ifdef BORDER_ZOOMAPS e_comp_object_zoomap_set(o, 1); #else @@ -3200,7 +3209,7 @@ e_comp_object_shape_apply(Evas_Object *obj) //INF("SHAPE RENDER %p", cw->ec); if (cw->ec->shaped) evas_object_image_native_surface_set(cw->obj, NULL); - evas_object_image_alpha_set(cw->obj, !!cw->ec->shaped); + _e_comp_object_alpha_set(cw); EINA_LIST_FOREACH(cw->obj_mirror, l, o) { if (cw->ec->shaped) evas_object_image_native_surface_set(o, NULL); --
[EGIT] [core/enlightenment] master 12/14: remove unused variables in ilist widget
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=ad631964f8a40b7cf41d148ecbb461ffdee53fc3 commit ad631964f8a40b7cf41d148ecbb461ffdee53fc3 Author: Mike Blumenkrantz Date: Thu Sep 17 16:56:22 2015 -0400 remove unused variables in ilist widget --- src/bin/e_widget_ilist.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/bin/e_widget_ilist.c b/src/bin/e_widget_ilist.c index 4163101..861c008 100644 --- a/src/bin/e_widget_ilist.c +++ b/src/bin/e_widget_ilist.c @@ -283,8 +283,6 @@ _queue_clear(Evas_Object *obj) static void _e_wid_disable_hook(Evas_Object *obj) { - E_Ilist_Item *ili; - const Eina_List *l; Eina_Bool disabled; E_Widget_Data *wd; --
[EGIT] [core/enlightenment] master 10/14: add smart callback for comp object damage calls
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=554eb76140106a845ab35ac90533d032cac0da2f commit 554eb76140106a845ab35ac90533d032cac0da2f Author: Mike Blumenkrantz Date: Thu Sep 17 16:46:46 2015 -0400 add smart callback for comp object damage calls related to the previous commit, this will allow api users to determine when a client needs to re-render with the least amount of overhead --- src/bin/e_comp_object.c | 4 1 file changed, 4 insertions(+) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 71fb9e5..76036ce 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -3085,10 +3085,14 @@ E_API void e_comp_object_damage(Evas_Object *obj, int x, int y, int w, int h) { int tw, th; + Eina_Rectangle rect; API_ENTRY; if (cw->ec->input_only || (!cw->updates)) return; if (cw->nocomp) return; + rect.x = x, rect.y = y; + rect.w = w, rect.h = h; + evas_object_smart_callback_call(obj, "damage", &rect); if (e_comp->nocomp) { cw->nocomp_need_update = EINA_TRUE; --
[EGIT] [core/enlightenment] master 04/14: add pre-render callback list for compositor canvas
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=bff9ae5feb2709bc3d416f6b6e6a07b1e2f3c487 commit bff9ae5feb2709bc3d416f6b6e6a07b1e2f3c487 Author: Mike Blumenkrantz Date: Thu Sep 17 16:32:49 2015 -0400 add pre-render callback list for compositor canvas someone doing fancy effects might want to add a callback to do various tasks only when a render is about to occur --- src/bin/e_comp.h| 2 ++ src/bin/e_comp_canvas.c | 11 +++ 2 files changed, 13 insertions(+) diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h index 2c9c9d6..d343036 100644 --- a/src/bin/e_comp.h +++ b/src/bin/e_comp.h @@ -89,6 +89,8 @@ struct _E_Comp Eina_List *clients; unsigned int new_clients; + Eina_List *pre_render_cbs; /* E_Comp_Cb */ + E_Comp_X_Data *x_comp_data; E_Comp_Wl_Data *wl_comp_data; diff --git a/src/bin/e_comp_canvas.c b/src/bin/e_comp_canvas.c index 87fc003..5f90c8c 100644 --- a/src/bin/e_comp_canvas.c +++ b/src/bin/e_comp_canvas.c @@ -211,6 +211,16 @@ _e_comp_canvas_resize(Ecore_Evas *ee EINA_UNUSED) e_comp_canvas_update(); } +static void +_e_comp_canvas_prerender(Ecore_Evas *ee EINA_UNUSED) +{ + E_Comp_Cb cb; + Eina_List *l; + + EINA_LIST_FOREACH(e_comp->pre_render_cbs, l, cb) + cb(); +} + E_API Eina_Bool e_comp_canvas_init(int w, int h) { @@ -266,6 +276,7 @@ e_comp_canvas_init(int w, int h) E_LIST_HANDLER_APPEND(handlers, E_EVENT_SCREENSAVER_ON, _e_comp_cb_screensaver_on, NULL); E_LIST_HANDLER_APPEND(handlers, E_EVENT_SCREENSAVER_OFF, _e_comp_cb_screensaver_off, NULL); + ecore_evas_callback_pre_render_set(e_comp->ee, _e_comp_canvas_prerender); ecore_evas_callback_resize_set(e_comp->ee, _e_comp_canvas_resize); ecore_evas_resize(e_comp->ee, w, h); --
[EGIT] [tools/enventor] master 01/01: Show the save warning dialog on close unsaved file.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=a2e8ea302898143597976df968e294205b73b0d1 commit a2e8ea302898143597976df968e294205b73b0d1 Author: Mykyta Biliavskyi Date: Fri Sep 18 09:36:07 2015 + Show the save warning dialog on close unsaved file. --- src/bin/file_mgr.c | 1 + src/lib/enventor_smart.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/bin/file_mgr.c b/src/bin/file_mgr.c index aef29ff..60cf5b6 100644 --- a/src/bin/file_mgr.c +++ b/src/bin/file_mgr.c @@ -149,6 +149,7 @@ file_mgr_edc_save(void) file_mgr_data *fmd = g_fmd; Eina_Bool save_success = enventor_object_save(fmd->enventor, config_input_path_get()); + enventor_object_modified_set(fmd->enventor, !save_success); if (!config_stats_bar_get()) return; diff --git a/src/lib/enventor_smart.c b/src/lib/enventor_smart.c index 4b01a10..604312f 100644 --- a/src/lib/enventor_smart.c +++ b/src/lib/enventor_smart.c @@ -631,6 +631,7 @@ _enventor_object_save(Eo *obj EINA_UNUSED, Enventor_Object_Data *pd, build_edc(); edit_saved_set(pd->ed, EINA_FALSE); +edit_changed_set(pd->ed, EINA_TRUE); modified.self_changed = EINA_TRUE; evas_object_smart_callback_call(pd->obj, SIG_EDC_MODIFIED, &modified); --
[EGIT] [admin/devs] master 01/01: jpeg: add a key for my personal laptop
jpeg pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=f62d63d504409df8fd65ce83355b034a63116430 commit f62d63d504409df8fd65ce83355b034a63116430 Author: Jean-Philippe Andre Date: Fri Sep 18 09:53:56 2015 +0900 jpeg: add a key for my personal laptop --- developers/jpeg/id_home.pub | 1 + 1 file changed, 1 insertion(+) diff --git a/developers/jpeg/id_home.pub b/developers/jpeg/id_home.pub new file mode 100644 index 000..b8f10e5 --- /dev/null +++ b/developers/jpeg/id_home.pub @@ -0,0 +1 @@ +ssh-ed25519 C3NzaC1lZDI1NTE5IHsh0KVyWOujdieYt5gJE+VBy0N0P/mCPDGH+CChwNTf jpeg@series7 --