[EGIT] [apps/terminology] master 01/01: Revert "have the "xterm" cursor on the textgrid"

2015-03-21 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=6aee349409c6d2d6cc1327e60c42636aeb6c1e10

commit 6aee349409c6d2d6cc1327e60c42636aeb6c1e10
Author: Daniel Zaoui 
Date:   Sun Mar 22 08:13:34 2015 +0200

Revert "have the "xterm" cursor on the textgrid"

This reverts commit 144053f882053cb755144b8d2c1a1a76cc0e5607.

It totally breaks the terminal splitting.
---
 src/bin/win.c | 73 +--
 1 file changed, 36 insertions(+), 37 deletions(-)

diff --git a/src/bin/win.c b/src/bin/win.c
index 177cdc9..d07e444 100644
--- a/src/bin/win.c
+++ b/src/bin/win.c
@@ -39,7 +39,7 @@ struct _Term
Win *wn;
Config  *config;
Evas_Object *bg;
-   Evas_Object *base; // elm_layout
+   Evas_Object *base;
Evas_Object *term;
Evas_Object *media;
Evas_Object *popmedia;
@@ -189,7 +189,7 @@ _cb_win_focus_in(void *data, Evas_Object *obj EINA_UNUSED, 
void *event EINA_UNUS
  if (term)
{
   edje_object_signal_emit(term->bg, "focus,out", 
"terminology");
-  elm_layout_signal_emit(term->base, "focus,out", 
"terminology");
+  edje_object_signal_emit(term->base, "focus,out", 
"terminology");
   if (!wn->cmdbox_up) elm_object_focus_set(term->term, 
EINA_FALSE);
}
  term = term_mouse;
@@ -205,7 +205,7 @@ _cb_win_focus_in(void *data, Evas_Object *obj EINA_UNUSED, 
void *event EINA_UNUS
else
  {
 edje_object_signal_emit(term->bg, "focus,in", "terminology");
-elm_layout_signal_emit(term->base, "focus,in", "terminology");
+edje_object_signal_emit(term->base, "focus,in", "terminology");
 if (!wn->cmdbox_up) elm_object_focus_set(term->term, EINA_TRUE);
  }
 }
@@ -223,7 +223,7 @@ _cb_win_focus_out(void *data, Evas_Object *obj EINA_UNUSED,
term = win_focused_term_get(wn);
if (!term) return;
edje_object_signal_emit(term->bg, "focus,out", "terminology");
-   elm_layout_signal_emit(term->base, "focus,out", "terminology");
+   edje_object_signal_emit(term->base, "focus,out", "terminology");
if (!wn->cmdbox_up) elm_object_focus_set(term->term, EINA_FALSE);
 }
 
@@ -296,7 +296,7 @@ _win_trans(Win *wn, Term *term, Eina_Bool trans)
else
  msg.val = 100;
edje_object_message_send(term->bg, EDJE_MESSAGE_INT, 1, &msg);
-   edje_object_message_send(elm_layout_edje_get(term->base), EDJE_MESSAGE_INT, 
1, &msg);
+   edje_object_message_send(term->base, EDJE_MESSAGE_INT, 1, &msg);
 
if (trans)
  {
@@ -771,7 +771,7 @@ _cb_size_hint(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj, void *event EIN
 
evas_object_size_hint_min_get(obj, &mw, &mh);
evas_object_size_hint_request_get(obj, &rw, &rh);
-   edje_object_size_min_calc(elm_layout_edje_get(term->base), &w, &h);
+   edje_object_size_min_calc(term->base, &w, &h);
evas_object_size_hint_min_set(term->base, w, h);
edje_object_size_min_calc(term->bg, &w, &h);
evas_object_size_hint_min_set(term->bg, w, h);
@@ -1425,14 +1425,14 @@ _term_focus(Term *term)
{
   term2->focused = EINA_FALSE;
   edje_object_signal_emit(term2->bg, "focus,out", 
"terminology");
-  elm_layout_signal_emit(term2->base, "focus,out", 
"terminology");
+  edje_object_signal_emit(term2->base, "focus,out", 
"terminology");
   elm_object_focus_set(term2->term, EINA_FALSE);
}
   }
  }
term->focused = EINA_TRUE;
edje_object_signal_emit(term->bg, "focus,in", "terminology");
-   elm_layout_signal_emit(term->base, "focus,in", "terminology");
+   edje_object_signal_emit(term->base, "focus,in", "terminology");
if (term->wn->cmdbox) elm_object_focus_set(term->wn->cmdbox, EINA_FALSE);
elm_object_focus_set(term->term, EINA_TRUE);
elm_win_title_set(term->wn->win, termio_title_get(term->term));
@@ -2241,7 +2241,7 @@ _cb_media_del(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED, voi
if (term->bg)
  {
 edje_object_signal_emit(term->bg, "media,off", "terminology");
-elm_layout_signal_emit(term->base, "media,off", "terminology");
+edje_object_signal_emit(term->base, "media,off", "terminology");
  }
if (!config) return;
if (config->temporary)
@@ -2269,26 +2269,26 @@ _term_media_update(Term *term, const Config *config)
 MEDIA_BG, type);
 evas_object_event_callback_add(o, EVAS_CALLBACK_DEL,
_cb_media_del, term);
-elm_layout_content_set(term->base, "terminology.background", o);
+edje_object_part_swallow(term->base, "terminology.background", o);
 evas_object_show(o);
 term->mediatype = type;
 switch (type)
   {
case MEDIA_TYPE_IMG:
   edje_object_si

Re: [E-devel] [EGIT] [apps/terminology] master 02/03: have the "xterm" cursor on the textgrid

2015-03-21 Thread Daniel Zaoui
Hi,

I habe some issue with splitting due to this commit. The scenario is
easy as you just have to open a terminal and split it. You will see the
first terminal becomes empty. Exiting the new terminal will segfault
terminology.
There a lot of errors if you open from snother terminal:
daniel@yoga:~/e/terminology$ terminology
ERR<7896>:elementary elm_layout.c:855 _elm_layout_efl_file_file_set()
failed to set edje file '/opt/e/share/terminology/themes/mild.edj',
group 'terminology/core': Unknown Collection ERR<7896>:eo
lib/eo/eo.c:676 _eo_call_resolve() in lib/edje/edje_object.eo.c:108:
func 'edje_obj_load_error_get' (733) could not be resolved for class
'Elm_Layout'. ERR<7896>:elementary elm_layout.c:855
_elm_layout_efl_file_file_set() failed to set edje file
'/opt/e/share/terminology/themes/mild.edj', group 'terminology/core':
Unknown Collection ERR<7896>:eo lib/eo/eo.c:676 _eo_call_resolve() in
lib/edje/edje_object.eo.c:108: func 'edje_obj_load_error_get' (733)
could not be resolved for class 'Elm_Layout'. ERR<7896>:elementary
elm_layout.c:855 _elm_layout_efl_file_file_set() failed to set edje
file '/opt/e/share/terminology/themes/mild.edj', group
'terminology/core': Unknown Collection ERR<7896>:eo lib/eo/eo.c:676
_eo_call_resolve() in lib/edje/edje_object.eo.c:108: func
'edje_obj_load_error_get' (733) could not be resolved for class
'Elm_Layout'. ERR<7896>:eo lib/eo/eo_ptr_indirection.x:294
_eo_obj_pointer_get() obj_id 0x801540ab is not pointing to a
valid object. Maybe it has already been freed. ERR<7896>:eo
lib/eo/eo.c:485 _eo_do_internal() Obj (0x801540ab) is an
invalid ref.

I suppose this is due to the change to elm_layout.

I plan to revert it as it totally breaks.

JackDanielZ


On Wed, 18 Mar 2015 10:21:58 -0700
Boris Faure  wrote:

> billiob pushed a commit to branch master.
> 
> http://git.enlightenment.org/apps/terminology.git/commit/?id=144053f882053cb755144b8d2c1a1a76cc0e5607
> 
> commit 144053f882053cb755144b8d2c1a1a76cc0e5607
> Author: Boris Faure 
> Date:   Wed Mar 18 17:10:44 2015 +0100
> 
> have the "xterm" cursor on the textgrid
> ---
>  src/bin/win.c | 73
> ++- 1 file
> changed, 37 insertions(+), 36 deletions(-)
> 
> diff --git a/src/bin/win.c b/src/bin/win.c
> index d07e444..177cdc9 100644
> --- a/src/bin/win.c
> +++ b/src/bin/win.c
> @@ -39,7 +39,7 @@ struct _Term
> Win *wn;
> Config  *config;
> Evas_Object *bg;
> -   Evas_Object *base;
> +   Evas_Object *base; // elm_layout
> Evas_Object *term;
> Evas_Object *media;
> Evas_Object *popmedia;
> @@ -189,7 +189,7 @@ _cb_win_focus_in(void *data, Evas_Object *obj
> EINA_UNUSED, void *event EINA_UNUS if (term)
> {
>edje_object_signal_emit(term->bg, "focus,out",
> "terminology");
> -  edje_object_signal_emit(term->base, "focus,out",
> "terminology");
> +  elm_layout_signal_emit(term->base, "focus,out",
> "terminology"); if (!wn->cmdbox_up) elm_object_focus_set(term->term,
> EINA_FALSE); }
>   term = term_mouse;
> @@ -205,7 +205,7 @@ _cb_win_focus_in(void *data, Evas_Object *obj
> EINA_UNUSED, void *event EINA_UNUS else
>   {
>  edje_object_signal_emit(term->bg, "focus,in", "terminology");
> -edje_object_signal_emit(term->base, "focus,in",
> "terminology");
> +elm_layout_signal_emit(term->base, "focus,in",
> "terminology"); if (!wn->cmdbox_up) elm_object_focus_set(term->term,
> EINA_TRUE); }
>  }
> @@ -223,7 +223,7 @@ _cb_win_focus_out(void *data, Evas_Object *obj
> EINA_UNUSED, term = win_focused_term_get(wn);
> if (!term) return;
> edje_object_signal_emit(term->bg, "focus,out", "terminology");
> -   edje_object_signal_emit(term->base, "focus,out", "terminology");
> +   elm_layout_signal_emit(term->base, "focus,out", "terminology");
> if (!wn->cmdbox_up) elm_object_focus_set(term->term, EINA_FALSE);
>  }
>  
> @@ -296,7 +296,7 @@ _win_trans(Win *wn, Term *term, Eina_Bool trans)
> else
>   msg.val = 100;
> edje_object_message_send(term->bg, EDJE_MESSAGE_INT, 1, &msg);
> -   edje_object_message_send(term->base, EDJE_MESSAGE_INT, 1, &msg);
> +   edje_object_message_send(elm_layout_edje_get(term->base),
> EDJE_MESSAGE_INT, 1, &msg); 
> if (trans)
>   {
> @@ -771,7 +771,7 @@ _cb_size_hint(void *data, Evas *e EINA_UNUSED,
> Evas_Object *obj, void *event EIN 
> evas_object_size_hint_min_get(obj, &mw, &mh);
> evas_object_size_hint_request_get(obj, &rw, &rh);
> -   edje_object_size_min_calc(term->base, &w, &h);
> +   edje_object_size_min_calc(elm_layout_edje_get(term->base), &w,
> &h); evas_object_size_hint_min_set(term->base, w, h);
> edje_object_size_min_calc(term->bg, &w, &h);
> evas_object_size_hint_min_set(term->bg, w, h);
> @@ -1425,14 +1425,14 @@ _term_focus(Term *term)
> {
>term2->focused = EINA_FALSE;
>edje_object_signal_e

[E-devel] Python Elm Extensions Updates

2015-03-21 Thread Jeff Hoogland
Just wanted to share that, with some help from kuuko, I've done a number of
great updates to my Python ElmExtensions library ->
https://github.com/JeffHoogland/python-elm-extensions

The fileselector widget now populates files in the background so it no
longer locks up in directories with thousands of files and the sortedlist
is now built using panes so it is user resizable.

I've also added a "TabbedBox" widget powered by naviframe for when you want
that sort of thing. This is what I use for the multiple file handling in
ePad.

There are simple examples for each of the widgets in the top level of git.

-- 
~Jeff Hoogland 
My Projects on GitHub 
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/enlightenment] master 01/01: fix debug message for wl_output_bind

2015-03-21 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=4c541d3b323ef7e6c61a01006279eb6a3761ae74

commit 4c541d3b323ef7e6c61a01006279eb6a3761ae74
Author: Chris Michael 
Date:   Sat Mar 21 16:59:48 2015 -0400

fix debug message for wl_output_bind

Signed-off-by: Chris Michael 
---
 src/bin/e_comp_wl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index ac1888f..9be9493 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2308,7 +2308,7 @@ _e_comp_wl_cb_output_bind(struct wl_client *client, void 
*data, uint32_t version
  }
 
DBG("Bound Output: %s", output->id);
-   DBG("\tGeom: %d %d %d %d", output->x, output->w, output->w, output->h);
+   DBG("\tGeom: %d %d %d %d", output->x, output->y, output->w, output->h);
 
output->resources = eina_list_append(output->resources, resource);
 

-- 




[EGIT] [core/efl] master 01/01: ecore-drm: Fix build error caused by missing function declaration

2015-03-21 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3f7bf360461938b3051378e8dbcc45e9c6c07939

commit 3f7bf360461938b3051378e8dbcc45e9c6c07939
Author: Chris Michael 
Date:   Sat Mar 21 16:38:47 2015 -0400

ecore-drm: Fix build error caused by missing function declaration

Summary: This is mainly just a build fix. This issue occurred due to
the function declaration being After a call to use it while not having
a function prototype. This just adds the function prototype

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_output.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index 6c3e121..f10b5a2 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -25,6 +25,7 @@ static const char *conn_types[] =
 EAPI int ECORE_DRM_EVENT_OUTPUT = 0;
 
 /* local functions */
+static void _ecore_drm_output_event(const char *device, Eeze_Udev_Event event 
EINA_UNUSED, void *data, Eeze_Udev_Watch *watch EINA_UNUSED);
 
 static void 
 _ecore_drm_output_edid_parse_string(const uint8_t *data, char text[])

-- 




[EGIT] [core/enlightenment] master 02/02: wl-drm: Add more debugging during output hotplug events

2015-03-21 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=7855cbea0e8b6a8e59352c492985da3941120bdd

commit 7855cbea0e8b6a8e59352c492985da3941120bdd
Author: Chris Michael 
Date:   Sat Mar 21 16:30:36 2015 -0400

wl-drm: Add more debugging during output hotplug events

Signed-off-by: Chris Michael 
---
 src/modules/wl_drm/e_mod_main.c | 17 +
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/modules/wl_drm/e_mod_main.c b/src/modules/wl_drm/e_mod_main.c
index dbc6fa5..1a49b88 100644
--- a/src/modules/wl_drm/e_mod_main.c
+++ b/src/modules/wl_drm/e_mod_main.c
@@ -62,12 +62,21 @@ _e_mod_drm_cb_output(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event)
 
if (!(e = event)) goto end;
 
-   if (!e->plug) goto end;
+   if (!e->plug)
+ {
+DBG("Caught Drm Output Unplug Event");
+/* FIXME: This needs to remove output from e_comp_wl */
+goto end;
+ }
 
snprintf(buff, sizeof(buff), "%d", e->id);
-   e_comp_wl_output_init(buff, e->make, e->model, e->x, e->y, e->w, e->h, 
- e->phys_width, e->phys_height, e->refresh, 
- e->subpixel_order, e->transform);
+
+   if (!e_comp_wl_output_init(buff, e->make, e->model, e->x, e->y, e->w, e->h, 
+  e->phys_width, e->phys_height, e->refresh, 
+  e->subpixel_order, e->transform))
+ {
+ERR("Could not setup new output: %s", buff);
+ }
 
 end:
return ECORE_CALLBACK_PASS_ON;

-- 




[EGIT] [core/efl] master 02/02: ecore-drm: Add more debug info when output is created or updated

2015-03-21 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a2edb5958d52784ffc31a0192caf12d9aa5b6d22

commit a2edb5958d52784ffc31a0192caf12d9aa5b6d22
Author: Chris Michael 
Date:   Sat Mar 21 16:27:01 2015 -0400

ecore-drm: Add more debug info when output is created or updated

Summary: This patch adds more information so we can debug output
hotplug events better. It fixes an issue where any new outputs
from _ecore_drm_update_outputs where not getting the eeze udev watch
event created, and also addresses the issue of disconnected outputs
not sending the ecore_drm_event (both minor fixes)

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_output.c | 36 +++-
 1 file changed, 31 insertions(+), 5 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index 16e1db3..6c3e121 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -463,7 +463,11 @@ _ecore_drm_output_create(Ecore_Drm_Device *dev, drmModeRes 
*res, drmModeConnecto
if ((!output->current_mode) && (crtc_mode.clock != 0))
  {
 output->current_mode = _ecore_drm_output_mode_add(output, &crtc_mode);
-if (!output->current_mode) goto mode_err;
+if (!output->current_mode)
+  {
+ ERR("Failed to add mode to output");
+ goto mode_err;
+  }
  }
 
_ecore_drm_output_edid_find(output, conn);
@@ -472,7 +476,16 @@ _ecore_drm_output_create(Ecore_Drm_Device *dev, drmModeRes 
*res, drmModeConnecto
if (!_ecore_drm_output_software_setup(dev, output))
  goto mode_err;
else
- DBG("Setup Output %d for Software Rendering", output->crtc_id);
+ {
+DBG("Output %s", output->name);
+DBG("\tMake: %s", output->make);
+DBG("\tModel: %s", output->model);
+DBG("\tGeom: %d %d %d %d", output->x, output->y, 
+output->current_mode->width, output->current_mode->height);
+DBG("\tConnector: %d", output->conn_id);
+DBG("\tCrtc: %d", output->crtc_id);
+DBG("\tSetup for Software Rendering");
+ }
 
output->backlight = 
  _ecore_drm_output_backlight_init(output, conn->connector_type);
@@ -482,6 +495,7 @@ _ecore_drm_output_create(Ecore_Drm_Device *dev, drmModeRes 
*res, drmModeConnecto
return output;
 
 mode_err:
+   DBG("Removing Output %s", output->name);
eina_stringshare_del(output->make);
eina_stringshare_del(output->model);
eina_stringshare_del(output->name);
@@ -639,6 +653,7 @@ _ecore_drm_update_outputs(Ecore_Drm_Output *output)
 if (!(output->dev->conn_allocator & (1 << connector_id)))
   {
  drmModeEncoder *enc;
+ int events = 0;
 
  if (!(new_output = _ecore_drm_output_create(output->dev, res, 
connector, x, y)))
{
@@ -669,6 +684,12 @@ _ecore_drm_update_outputs(Ecore_Drm_Output *output)
  drmModeFreeCrtc(crtc);
  drmModeFreeEncoder(enc);
 
+ events = (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE);
+
+ new_output->watch = 
+   eeze_udev_watch_add(EEZE_UDEV_TYPE_DRM, events, 
+   _ecore_drm_output_event, new_output);
+
  output->dev->outputs = 
eina_list_append(output->dev->outputs, new_output);
   }
@@ -683,6 +704,7 @@ _ecore_drm_update_outputs(Ecore_Drm_Output *output)
  if (disconnects & (1 << new_output->conn_id))
{
   disconnects &= ~(1 << new_output->conn_id);
+  _ecore_drm_event_output_send(new_output, EINA_FALSE);
   ecore_drm_output_free(new_output);
}
   }
@@ -690,14 +712,18 @@ _ecore_drm_update_outputs(Ecore_Drm_Output *output)
 }
 
 static void
-_ecore_drm_output_event(const char *device EINA_UNUSED, Eeze_Udev_Event event 
EINA_UNUSED, void *data, Eeze_Udev_Watch *watch EINA_UNUSED)
+_ecore_drm_output_event(const char *device, Eeze_Udev_Event event EINA_UNUSED, 
void *data, Eeze_Udev_Watch *watch EINA_UNUSED)
 {
Ecore_Drm_Output *output;
 
+   DBG("Udev Hotplug Event for Device: %s", device);
+
if (!(output = data)) return;
 
if (_ecore_drm_output_device_is_hotplug(output))
  _ecore_drm_update_outputs(output);
+   else
+ DBG("\tUdev Event was not a hotplug event");
 }
 
 static void
@@ -724,8 +750,8 @@ _ecore_drm_event_output_send(const Ecore_Drm_Output 
*output, Eina_Bool plug)
 e->h = output->current_mode->height;
 e->x = output->x;
 e->y = output->y;
-e->phys_width = 0;
-e->phys_height = 0;
+e->phys_width = output->phys_width;
+e->phys_height = output->phys_height;
 e->refresh = output->current_mode->refresh;
 e->subpixel_order = output->subpixel;
 e->make = eina_stringshare_re

[EGIT] [core/enlightenment] master 01/02: add debugging when output gets bound, and fix formatting

2015-03-21 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=5916823f7932b95a95d8d2cfe77a3784f93037d9

commit 5916823f7932b95a95d8d2cfe77a3784f93037d9
Author: Chris Michael 
Date:   Sat Mar 21 16:30:11 2015 -0400

add debugging when output gets bound, and fix formatting

Signed-off-by: Chris Michael 
---
 src/bin/e_comp_wl.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 8f54480..ac1888f 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2307,6 +2307,9 @@ _e_comp_wl_cb_output_bind(struct wl_client *client, void 
*data, uint32_t version
 return;
  }
 
+   DBG("Bound Output: %s", output->id);
+   DBG("\tGeom: %d %d %d %d", output->x, output->w, output->w, output->h);
+
output->resources = eina_list_append(output->resources, resource);
 
wl_resource_set_implementation(resource, NULL, output,
@@ -2832,8 +2835,10 @@ e_comp_wl_output_init(const char *id, const char *make, 
const char *model,
 
 cdata->outputs = eina_list_append(cdata->outputs, output);
 
-output->global = wl_global_create(cdata->wl.disp, &wl_output_interface,
-  2, output, 
_e_comp_wl_cb_output_bind);
+output->global = 
+  wl_global_create(cdata->wl.disp, &wl_output_interface,
+   2, output, _e_comp_wl_cb_output_bind);
+
 output->resources = NULL;
 output->scale = e_scale;
  }

-- 




[EGIT] [core/efl] master 01/02: evas-drm: Enable more information during flip error

2015-03-21 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=fd23e4b4397e022c394af88195e7487006095aeb

commit fd23e4b4397e022c394af88195e7487006095aeb
Author: Chris Michael 
Date:   Sat Mar 21 16:08:40 2015 -0400

evas-drm: Enable more information during flip error

Summary: This adds a bit more output during crtc flip errors so we can
debug multi-monitor setups

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/drm/evas_drm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/drm/evas_drm.c 
b/src/modules/evas/engines/drm/evas_drm.c
index f4c3536..bf5bfb1 100644
--- a/src/modules/evas/engines/drm/evas_drm.c
+++ b/src/modules/evas/engines/drm/evas_drm.c
@@ -363,7 +363,8 @@ evas_drm_framebuffer_send(Outbuf *ob, Buffer *buffer)
 if (drmModePageFlip(ob->priv.fd, ob->priv.crtc, 
 buffer->fb, DRM_MODE_PAGE_FLIP_EVENT, ob) < 0)
   {
- ERR("Cannot flip crtc for connector %u: %m", ob->priv.conn);
+ ERR("Cannot flip crtc %u for connector %u: %m", 
+ ob->priv.crtc, ob->priv.conn);
  return EINA_FALSE;
   }
 
@@ -382,6 +383,7 @@ evas_drm_framebuffer_send(Outbuf *ob, Buffer *buffer)
 /* evas_drm_outbuf_framebuffer_set(ob, buffer); */
 
 /* increment buffer we are using */
+ob->priv.last = ob->priv.curr;
 ob->priv.curr = (ob->priv.curr + 1) % ob->priv.num;
  }
 

-- 




[E-devel] Option to grab pane anywhere? (not just the center)

2015-03-21 Thread Jeff Hoogland
Is there an option to allow panes to be clickable anywhere along the break
instead of just in the very center? I have some panes that are very large
and would prefer if the user didn't have to scroll down/up to change the
size.

-- 
~Jeff Hoogland 
My Projects on GitHub 
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Terminology does not get focus in some window managers

2015-03-21 Thread Cedric BAIL
On Sat, Mar 21, 2015 at 9:26 AM, Adrien Nader  wrote:
> On Fri, Mar 20, 2015, José Romildo Malaquias wrote:
>> I have been using terminology as my default terminal for some time, but
>> recently it has stopped working with some window managers.
>>
>> After starting terminology, its window is drawn without decoration, but
>> it does not receive focus and I cannot type anything in it. It is still
>> sensitive to mouse actions, allowing access to its menu.
>>
>> The attached file is a screenshot showing a terminology window and a
>> gnome-terminal window. The window manager is openbox.
>>
>> This is happening with several window managers I have tried: openbox,
>> fluxbox, window maker. So it probably is a problem with terminology
>> itself, and not with the window manager.
>>
>> It works with enlightenment and xfce, though.
>>
>> Is anybody else seing this behaviour or has any clues on how to fix it?
>
> This reminds me a *lot* of an issue I had too in openbox. It wasn't
> limited to Terminology. I think it started with EFL 1.12 and I think it
> has since been fixed: which exact version of EFL are you using?

Yes, me to. I don't remember exactly, but I think it was related to an
X property that wasn't handle in a dynamic way by the WM when it
should have. I am not sure the fix was in EFL and not in the WM in
fact.
-- 
Cedric BAIL

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [enlightenment/modules/penguins] master 01/01: Fix for recent e20 changes

2015-03-21 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/penguins.git/commit/?id=085530210fd3aadd26cf530251bbaf8363241d9a

commit 085530210fd3aadd26cf530251bbaf8363241d9a
Author: Dave Andreoli 
Date:   Sat Mar 21 13:26:01 2015 +0100

Fix for recent e20 changes
---
 src/e_mod_penguins.c | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/e_mod_penguins.c b/src/e_mod_penguins.c
index a475749..dec0ba3 100644
--- a/src/e_mod_penguins.c
+++ b/src/e_mod_penguins.c
@@ -292,7 +292,7 @@ _population_load(void)
   {
  zones = eina_list_append(zones, zone);
  printf("PENGUINS:   Zone: %s - %s || %d,%d @ %dx%d\n",
-zone->comp->name, zone->name, zone->x, zone->y, zone->w, 
zone->h);
+e_comp->name, zone->name, zone->x, zone->y, zone->w, zone->h);
   }
#else
   E_Comp *comp;
@@ -316,7 +316,11 @@ _population_load(void)
   if (!tux) return;
 
   tux->zone = eina_list_nth(zones, i % eina_list_count(zones));
+#if E_VERSION_MAJOR == 20
+  tux->obj = edje_object_add(e_comp->evas);
+#else
   tux->obj = edje_object_add(tux->zone->comp->evas);
+#endif
   edje_object_file_set(tux->obj, population->conf->theme, "anims");
   evas_object_color_set(tux->obj, population->conf->alpha, 
population->conf->alpha,
   population->conf->alpha, 
population->conf->alpha);
@@ -586,8 +590,11 @@ static int
 _is_inside_any_win(Penguins_Actor *tux, int x, int y, int ret_value)
 {
Evas_Object *o;
-
+#if E_VERSION_MAJOR == 20
+   o = evas_object_top_get(e_comp->evas);
+#else
o = evas_object_top_get(tux->zone->comp->evas);
+#endif
while (o)
{
   int xx, yy, ww, hh;

-- 




[EGIT] [enlightenment/modules/places] master 01/01: Fix for recent e20 changes

2015-03-21 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=2115f5aac50e6614879f0824a8070fbf6878b8f3

commit 2115f5aac50e6614879f0824a8070fbf6878b8f3
Author: Dave Andreoli 
Date:   Sat Mar 21 12:59:35 2015 +0100

Fix for recent e20 changes
---
 src/e_mod_main.c   | 7 ++-
 src/e_mod_places.c | 5 ++---
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index cb2666e..192f5a1 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -514,7 +514,6 @@ _places_cb_mouse_down(void *data, Evas *evas, Evas_Object 
*obj, void *event)
 {
Instance *inst = NULL;
Evas_Event_Mouse_Down *ev;
-   E_Zone *zone = NULL;
E_Menu_Item *mi = NULL;
int x, y;
 
@@ -524,9 +523,6 @@ _places_cb_mouse_down(void *data, Evas *evas, Evas_Object 
*obj, void *event)
  {
 E_Menu *m;
 
-/* grab current zone */
-zone = e_zone_current_get();
-
 /* create popup menu */
 m = e_menu_new();
 
@@ -544,7 +540,8 @@ _places_cb_mouse_down(void *data, Evas *evas, Evas_Object 
*obj, void *event)
   NULL, NULL);
 
 /* show the menu relative to gadgets position */
-e_menu_activate_mouse(m, zone, (x + ev->output.x),
+e_menu_activate_mouse(m, e_zone_current_get(),
+  (x + ev->output.x),
   (y + ev->output.y), 1, 1,
   E_MENU_POP_DIRECTION_AUTO, ev->timestamp);
 evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button,
diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index f783e05..b22935a 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -500,10 +500,9 @@ places_run_fm(const char *directory)
else
  {
 E_Action *act = e_action_find("fileman");
-Eina_List *managers = e_manager_list();
 
-if (act && act->func.go && managers && managers->data)
-  act->func.go(E_OBJECT(managers->data), directory);
+if (act && act->func.go)
+  act->func.go(E_OBJECT(e_comp), directory);
 else
   e_util_dialog_internal(D_("Warning"),
   D_("Cannot run the Enlightenment FileManager."

-- 




Re: [E-devel] Terminology does not get focus in some window managers

2015-03-21 Thread José Romildo Malaquias
On Sat, Mar 21, 2015 at 09:26:21AM +0100, Adrien Nader wrote:
> Hi,
> 
> On Fri, Mar 20, 2015, José Romildo Malaquias wrote:
> > Hello.
> > 
> > I have been using terminology as my default terminal for some time, but
> > recently it has stopped working with some window managers.
> > 
> > After starting terminology, its window is drawn without decoration, but
> > it does not receive focus and I cannot type anything in it. It is still
> > sensitive to mouse actions, allowing access to its menu.
> > 
> > The attached file is a screenshot showing a terminology window and a
> > gnome-terminal window. The window manager is openbox.
> > 
> > This is happening with several window managers I have tried: openbox,
> > fluxbox, window maker. So it probably is a problem with terminology
> > itself, and not with the window manager.
> > 
> > It works with enlightenment and xfce, though.
> > 
> > Is anybody else seing this behaviour or has any clues on how to fix it?
> 
> This reminds me a *lot* of an issue I had too in openbox. It wasn't
> limited to Terminology. I think it started with EFL 1.12 and I think it
> has since been fixed: which exact version of EFL are you using?

I am using efl-1.13.1 on gentoo linux.

Romildo

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [bindings/python/python-efl] master 03/04: Evas.SmartObject: Use calloc to allocate the array

2015-03-21 Thread Kai Huuhko
kuuko pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=1940b51f156273f3faecde6a43c0a8b2fdf8d409

commit 1940b51f156273f3faecde6a43c0a8b2fdf8d409
Author: Kai Huuhko 
Date:   Sat Mar 21 10:37:47 2015 +0200

Evas.SmartObject: Use calloc to allocate the array
---
 efl/evas/efl.evas_object_smart.pxi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/efl/evas/efl.evas_object_smart.pxi 
b/efl/evas/efl.evas_object_smart.pxi
index b8bc667..a27e05b 100644
--- a/efl/evas/efl.evas_object_smart.pxi
+++ b/efl/evas/efl.evas_object_smart.pxi
@@ -21,7 +21,7 @@ from efl.eo cimport Eo, EoIterator
 
 from cpython cimport Py_INCREF, Py_DECREF, PyObject_Call, \
 PyMem_Malloc, PyMem_Free
-from libc.stdlib cimport malloc
+from libc.stdlib cimport malloc, calloc
 from libc.string cimport strdup
 
 #cdef object _smart_classes
@@ -53,7 +53,7 @@ cdef Evas_Smart_Cb_Description *_descriptions_to_array(descs):
 return NULL
 
 # allocate arr_len + 1 so it's NULL terminated
-arr = malloc(arr_len + 1 * 
sizeof(Evas_Smart_Cb_Description))
+arr = calloc(arr_len + 1, 
sizeof(Evas_Smart_Cb_Description))
 
 for i, desc in enumerate(descs):
 arr[i] = desc.desc[0]

-- 




[EGIT] [bindings/python/python-efl] master 01/04: Eo: Add the property 'parent'

2015-03-21 Thread Kai Huuhko
kuuko pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=0266db28bdc943cec09d14220b16e257a5e13ff7

commit 0266db28bdc943cec09d14220b16e257a5e13ff7
Author: Kai Huuhko 
Date:   Sat Mar 21 10:06:45 2015 +0200

Eo: Add the property 'parent'
---
 efl/eo/efl.eo.pyx | 22 --
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/efl/eo/efl.eo.pyx b/efl/eo/efl.eo.pyx
index 604ea1e..43411a4 100644
--- a/efl/eo/efl.eo.pyx
+++ b/efl/eo/efl.eo.pyx
@@ -294,22 +294,24 @@ cdef class Eo(object):
 """
 return bool(self.obj == NULL)
 
-def parent_set(self, Eo parent):
-"""Set the parent object.
+property parent:
+"""The parent object
 
-:param parent: The object to set as parent.
-:type parent: :class:`Eo`
+:type: :class:`Eo`
 
 """
-eo_do(self.obj, eo_parent_set(parent.obj))
+def __set__(self, Eo parent):
+eo_do(self.obj, eo_parent_set(parent.obj))
 
-def parent_get(self):
-"""Get the parent object.
+def __get__(self):
+cdef cEo *parent = NULL
+parent = eo_do_ret(self.obj, parent, eo_parent_get())
+return object_from_instance(parent)
 
-:return: The parent object
-:rtype: :class:`Eo`
+def parent_set(self, Eo parent):
+eo_do(self.obj, eo_parent_set(parent.obj))
 
-"""
+def parent_get(self):
 cdef cEo *parent = NULL
 parent = eo_do_ret(self.obj, parent, eo_parent_get())
 return object_from_instance(parent)

-- 




[EGIT] [bindings/python/python-efl] master 04/04: Evas: Optimize Smart methods

2015-03-21 Thread Kai Huuhko
kuuko pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=8a0dccbf227d0ba211a0d66ee4a2882df01ead44

commit 8a0dccbf227d0ba211a0d66ee4a2882df01ead44
Author: Kai Huuhko 
Date:   Sat Mar 21 10:38:24 2015 +0200

Evas: Optimize Smart methods

The methods are now checked on __init__. If a method is not initially
defined the calls to it will be skipped entirely. The methods can be
rebound later in runtime by initially providing an empty (pass) method.
---
 efl/evas/efl.evas_object_smart.pxi | 267 +++--
 1 file changed, 110 insertions(+), 157 deletions(-)

diff --git a/efl/evas/efl.evas_object_smart.pxi 
b/efl/evas/efl.evas_object_smart.pxi
index a27e05b..087841e 100644
--- a/efl/evas/efl.evas_object_smart.pxi
+++ b/efl/evas/efl.evas_object_smart.pxi
@@ -106,9 +106,6 @@ cdef void _smart_object_delete(Evas_Object *o) with gil:
 return
 cls = tmp
 
-if "delete" not in cls.__class__.__dict__:
-return
-
 eo_do_ret(o, tmp, eo_key_data_get("python-eo"))
 if tmp == NULL:
 EINA_LOG_DOM_WARN(PY_EFL_EVAS_LOG_DOMAIN, "obj is NULL!", NULL)
@@ -134,9 +131,6 @@ cdef void _smart_object_move(Evas_Object *o, Evas_Coord x, 
Evas_Coord y) with gi
 return
 cls = tmp
 
-if "move" not in cls.__class__.__dict__:
-return
-
 eo_do_ret(o, tmp, eo_key_data_get("python-eo"))
 if tmp == NULL:
 EINA_LOG_DOM_WARN(PY_EFL_EVAS_LOG_DOMAIN, "obj is NULL!", NULL)
@@ -315,9 +309,6 @@ cdef void _smart_object_calculate(Evas_Object *o) with gil:
 return
 cls = tmp
 
-if "calculate" not in cls.__class__.__dict__:
-return
-
 eo_do_ret(o, tmp, eo_key_data_get("python-eo"))
 if tmp == NULL:
 EINA_LOG_DOM_WARN(PY_EFL_EVAS_LOG_DOMAIN, "obj is NULL!", NULL)
@@ -344,9 +335,6 @@ cdef void _smart_object_member_add(Evas_Object *o, 
Evas_Object *clip) with gil:
 return
 cls = tmp
 
-if "member_add" not in cls.__class__.__dict__:
-return
-
 eo_do_ret(o, tmp, eo_key_data_get("python-eo"))
 if tmp == NULL:
 EINA_LOG_DOM_WARN(PY_EFL_EVAS_LOG_DOMAIN, "obj is NULL!", NULL)
@@ -375,9 +363,6 @@ cdef void _smart_object_member_del(Evas_Object *o, 
Evas_Object *clip) with gil:
 return
 cls = tmp
 
-if "member_del" not in cls.__class__.__dict__:
-return
-
 eo_do_ret(o, tmp, eo_key_data_get("python-eo"))
 if tmp == NULL:
 EINA_LOG_DOM_WARN(PY_EFL_EVAS_LOG_DOMAIN, "obj is NULL!", NULL)
@@ -464,29 +449,70 @@ cdef void _smart_callback(void *data, Evas_Object *o, 
void *event_info) with gil
 cdef class Smart(object):
 
 """
-An abstract class with callback methods.
+An abstract class that defines the behavior of the SmartObject.
 
 :param clipped: Make this Smart use a clipped class, ignoring the provided
-callback methods.
+callback methods, except :meth:`calculate` and :meth:`resize`.
 :type clipped: bool
 
-..
-note::
-You should never instantiate the Smart base class directly,
-but inherit and implement methods, then instantiate this new subclass.
+.. versionadded:: 1.14
 
-.. note::
-Do not call your parent on methods you want to replace the behavior
-instead of extending it. For example, some methods have default
-implementation, you may want to remove and replace it with something
-else.
+.. staticmethod:: delete(obj)
+
+Called in order to remove object from canvas and deallocate its 
resources.
+
+Usually you delete object's children here.
+
+.. staticmethod:: member_add(obj, Object child)
+
+Called when children is added to object.
+
+.. staticmethod:: member_del(obj, Object child)
+
+Called when children is removed from object.
+
+.. staticmethod:: move(obj, int x, int y)
+
+Called in order to move object to given position.
+
+Usually you move children here.
+
+.. staticmethod:: resize(obj, int w, int h)
+
+Called in order to resize object.
+
+.. staticmethod:: show(obj)
+
+Called in order to show the given element.
+
+Usually you call the same function on children.
+
+.. staticmethod:: hide(obj)
+
+Called in order to hide the given element.
+
+Usually you call the same function on children.
+
+.. staticmethod:: color_set(obj, int r, int g, int b, int a)
+
+Called in order to change object color.
+
+.. staticmethod:: clip_set(obj, Eo clip)
+
+Called in order to limit object's visible area.
+
+.. staticmethod:: clip_unset(obj)
+
+Called in order to unlimit object's visible area.
+
+.. staticmethod:: calculate(obj)
+
+Called before object is used for rendering and it is marked as 
dirty/changed with :py:func:`changed`.
 
-.. versionadded:: 1.14
 """
 
 def __cinit__(self, Smart parent=None, bint cli

[EGIT] [bindings/python/python-efl] master 02/04: setup.py: Fix Cython specific options

2015-03-21 Thread Kai Huuhko
kuuko pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=149f7d12781587a86f231516ef0e169fa1aa1c0d

commit 149f7d12781587a86f231516ef0e169fa1aa1c0d
Author: Kai Huuhko 
Date:   Sat Mar 21 10:08:25 2015 +0200

setup.py: Fix Cython specific options

**SPANK SPANK SPANK!!**  Dave has been naughty.

build_ext must be imported from Cython in order for options like
 --cython-dbg to be understood by the setup script.
---
 setup.py | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/setup.py b/setup.py
index dcc5d12..9aaa607 100755
--- a/setup.py
+++ b/setup.py
@@ -7,6 +7,7 @@ import platform
 import subprocess
 from distutils.core import setup, Command
 from distutils.extension import Extension
+from distutils.command.build_ext import build_ext
 from distutils.version import StrictVersion, LooseVersion
 from efl import __version__, __version_info__ as vers
 
@@ -216,7 +217,7 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) 
& set(sys.argv):
 if USE_CYTHON:
 # check if cython is installed
 try:
-from Cython.Distutils import Extension
+from Cython.Distutils import Extension, build_ext
 from Cython.Build import cythonize
 import Cython.Compiler.Options
 except ImportError:
@@ -515,6 +516,7 @@ setup(
 'build_doc': BuildDoc,
 'clean_generated_files': CleanGenerated,
 'uninstall': Uninstall,
+'build_ext': build_ext,
 },
 command_options={
 'build_doc': {
@@ -523,7 +525,7 @@ setup(
 },
 'install': {
 'record': ('setup.py', RECORD_FILE),
-}
+},
 },
 packages=packages,
 ext_package="efl",

-- 




Re: [E-devel] Terminology does not get focus in some window managers

2015-03-21 Thread Adrien Nader
Hi,

On Fri, Mar 20, 2015, José Romildo Malaquias wrote:
> Hello.
> 
> I have been using terminology as my default terminal for some time, but
> recently it has stopped working with some window managers.
> 
> After starting terminology, its window is drawn without decoration, but
> it does not receive focus and I cannot type anything in it. It is still
> sensitive to mouse actions, allowing access to its menu.
> 
> The attached file is a screenshot showing a terminology window and a
> gnome-terminal window. The window manager is openbox.
> 
> This is happening with several window managers I have tried: openbox,
> fluxbox, window maker. So it probably is a problem with terminology
> itself, and not with the window manager.
> 
> It works with enlightenment and xfce, though.
> 
> Is anybody else seing this behaviour or has any clues on how to fix it?

This reminds me a *lot* of an issue I had too in openbox. It wasn't
limited to Terminology. I think it started with EFL 1.12 and I think it
has since been fixed: which exact version of EFL are you using?

-- 
Adrien Nader

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel