Re: [E-devel] E CVS: apps/e englebass
I rather think we might use the wrong window for dnd on the desktop. Sebastian Dave Andreoli wrote: Ok, the problem happend only when the shelf is stacked on the background. The attached patch fix it, I'm not sure this is the right way, but seems that _e_drag_win_matches is not needed by xdnd. Thanks Dave - Dave Andreoli [EMAIL PROTECTED] ha scritto: This commit has stopped all the xdnd to work both in the shelf and in the gadcon :( DaveMDS - Enlightenment CVS [EMAIL PROTECTED] ha scritto: Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_dnd.c Log Message: We don't need to search for window at pointer with xdnd, xdnd handles this already. === RCS file: /cvs/e/e17/apps/e/src/bin/e_dnd.c,v retrieving revision 1.75 retrieving revision 1.76 diff -u -3 -r1.75 -r1.76 --- e_dnd.c 15 Jun 2008 12:19:40 - 1.75 +++ e_dnd.c 15 Jun 2008 12:28:16 - 1.76 @@ -680,12 +680,8 @@ // win = ecore_x_window_at_xy_with_skip_get(x, y, ignore_win, 2); } else - /* FIXME: this is nasty. every x mouse event we go back to x and do - * a whole bunch of round-trips narrowing down the toplevel window - * which contains the mouse */ - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, y, NULL, 0); -// win = ecore_x_window_at_xy_with_skip_get(x, y, NULL, 0); - + win = root; + if (_drag_current) { _e_drag_show(_drag_current); @@ -890,24 +886,13 @@ } static void -_e_drag_xdnd_end(Ecore_X_Window root, int x, int y) +_e_drag_xdnd_end(Ecore_X_Window win, int x, int y) { Evas_List *l; E_Event_Dnd_Drop ev; int dx, dy, dw, dh; - Ecore_X_Window win, ignore_win[2]; if (!_xdnd) return; - if (_drag_current) - { - ignore_win[0] = _drag_current-evas_win; - ignore_win[1] = _drag_win; - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, y, ignore_win, 2); -// win = ecore_x_window_at_xy_with_skip_get(x, y, ignore_win, 2); - } - else - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, y, NULL, 0); -// win = ecore_x_window_at_xy_with_skip_get(x, y, NULL, 0); ev.data = _xdnd-data; - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E CVS: apps/e englebass
This commit has stopped all the xdnd to work both in the shelf and in the gadcon :( DaveMDS - Enlightenment CVS [EMAIL PROTECTED] ha scritto: Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_dnd.c Log Message: We don't need to search for window at pointer with xdnd, xdnd handles this already. === RCS file: /cvs/e/e17/apps/e/src/bin/e_dnd.c,v retrieving revision 1.75 retrieving revision 1.76 diff -u -3 -r1.75 -r1.76 --- e_dnd.c 15 Jun 2008 12:19:40 - 1.75 +++ e_dnd.c 15 Jun 2008 12:28:16 - 1.76 @@ -680,12 +680,8 @@ // win = ecore_x_window_at_xy_with_skip_get(x, y, ignore_win, 2); } else - /* FIXME: this is nasty. every x mouse event we go back to x and do - * a whole bunch of round-trips narrowing down the toplevel window - * which contains the mouse */ - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, y, NULL, 0); -// win = ecore_x_window_at_xy_with_skip_get(x, y, NULL, 0); - + win = root; + if (_drag_current) { _e_drag_show(_drag_current); @@ -890,24 +886,13 @@ } static void -_e_drag_xdnd_end(Ecore_X_Window root, int x, int y) +_e_drag_xdnd_end(Ecore_X_Window win, int x, int y) { Evas_List *l; E_Event_Dnd_Drop ev; int dx, dy, dw, dh; - Ecore_X_Window win, ignore_win[2]; if (!_xdnd) return; - if (_drag_current) - { - ignore_win[0] = _drag_current-evas_win; - ignore_win[1] = _drag_win; - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, y, ignore_win, 2); -// win = ecore_x_window_at_xy_with_skip_get(x, y, ignore_win, 2); - } - else - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, y, NULL, 0); -// win = ecore_x_window_at_xy_with_skip_get(x, y, NULL, 0); ev.data = _xdnd-data; - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E CVS: apps/e englebass
Ok, the problem happend only when the shelf is stacked on the background. The attached patch fix it, I'm not sure this is the right way, but seems that _e_drag_win_matches is not needed by xdnd. Thanks Dave - Dave Andreoli [EMAIL PROTECTED] ha scritto: This commit has stopped all the xdnd to work both in the shelf and in the gadcon :( DaveMDS - Enlightenment CVS [EMAIL PROTECTED] ha scritto: Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_dnd.c Log Message: We don't need to search for window at pointer with xdnd, xdnd handles this already. === RCS file: /cvs/e/e17/apps/e/src/bin/e_dnd.c,v retrieving revision 1.75 retrieving revision 1.76 diff -u -3 -r1.75 -r1.76 --- e_dnd.c 15 Jun 2008 12:19:40 - 1.75 +++ e_dnd.c 15 Jun 2008 12:28:16 - 1.76 @@ -680,12 +680,8 @@ // win = ecore_x_window_at_xy_with_skip_get(x, y, ignore_win, 2); } else - /* FIXME: this is nasty. every x mouse event we go back to x and do - * a whole bunch of round-trips narrowing down the toplevel window - * which contains the mouse */ - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, y, NULL, 0); -// win = ecore_x_window_at_xy_with_skip_get(x, y, NULL, 0); - + win = root; + if (_drag_current) { _e_drag_show(_drag_current); @@ -890,24 +886,13 @@ } static void -_e_drag_xdnd_end(Ecore_X_Window root, int x, int y) +_e_drag_xdnd_end(Ecore_X_Window win, int x, int y) { Evas_List *l; E_Event_Dnd_Drop ev; int dx, dy, dw, dh; - Ecore_X_Window win, ignore_win[2]; if (!_xdnd) return; - if (_drag_current) - { - ignore_win[0] = _drag_current-evas_win; - ignore_win[1] = _drag_win; - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, y, ignore_win, 2); -// win = ecore_x_window_at_xy_with_skip_get(x, y, ignore_win, 2); - } - else - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, y, NULL, 0); -// win = ecore_x_window_at_xy_with_skip_get(x, y, NULL, 0); ev.data = _xdnd-data; - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel Index: e_dnd.c === RCS file: /cvs/e/e17/apps/e/src/bin/e_dnd.c,v retrieving revision 1.77 diff -u -u -r1.77 e_dnd.c --- e_dnd.c 15 Jun 2008 12:30:26 - 1.77 +++ e_dnd.c 23 Jun 2008 13:39:51 - @@ -752,7 +752,7 @@ move_ev.y = y - dy; leave_ev.x = x - dx; leave_ev.y = y - dy; - if (E_INSIDE(x, y, dx, dy, dw, dh) _e_drag_win_matches(h, win)) + if (E_INSIDE(x, y, dx, dy, dw, dh) /* _e_drag_win_matches(h, win)*/) { if (!h-entered) { @@ -910,8 +910,8 @@ _e_drag_coords_update(h, dx, dy, dw, dh); ev.x = x - dx; ev.y = y - dy; - if (_e_drag_win_matches(h, win) h-cb.drop - E_INSIDE(x, y, dx, dy, dw, dh)) + if (/*_e_drag_win_matches(h, win) h-cb.drop + */E_INSIDE(x, y, dx, dy, dw, dh)) { h-cb.drop(h-cb.data, h-active_type, ev); dropped = 1; - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E CVS: apps/e englebass
Sthithaprajna Garapaty wrote: Hey englebass, The commit below makes a 1pixel unclickable border around my screen.. I cannot select windows or do anything in this one pixel border. Removing ecore_x_window_show(...) and e_container_window_raise(zone-container, ..., 999); fixes the problem, but I dont know if it creates any new problems with edge flipping or shelf autohiding. Can you please look into this and make it so my screen border is clickable. If you disable the windows flipping and autohiding wont work anymore. There is no simple solution to fix this, and I don't have much time ATM, so you must fix this yourself :) Sebastian - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] E CVS: apps/e englebass
Hey englebass, The commit below makes a 1pixel unclickable border around my screen.. I cannot select windows or do anything in this one pixel border. Removing ecore_x_window_show(...) and e_container_window_raise(zone-container, ..., 999); fixes the problem, but I dont know if it creates any new problems with edge flipping or shelf autohiding. Can you please look into this and make it so my screen border is clickable. Thanks - Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_zone.c e_zone.h Log Message: Always show edge windows, prepare for edge events to show shelves. === RCS file: /cvs/e/e17/apps/e/src/bin/e_zone.c,v retrieving revision 1.123 retrieving revision 1.124 diff -u -3 -r1.123 -r1.124 --- e_zone.c17 Oct 2007 11:06:59 -1.123 +++ e_zone.c22 Nov 2007 19:46:54 -1.124 @@ -62,10 +62,18 @@ zone-num = num; zone-id = id; - zone-flip.left = ecore_x_window_input_new(con-win, zone-x, zone-y, 1, zone-h); - zone-flip.right = ecore_x_window_input_new(con-win, zone-x + zone-w - 1, zone-y, 1, zone-h); - zone-flip.top = ecore_x_window_input_new(con-win, zone-x + 1, zone-y, zone-w - 2, 1); - zone-flip.bottom = ecore_x_window_input_new(con-win, zone-x + 1, zone-y + zone-h - 1, zone-w - 2, 1); + zone-edge.left = ecore_x_window_input_new(con-win, zone-x, zone-y, 1, zone-h); + ecore_x_window_show(zone-edge.left); + e_container_window_raise(zone-container, zone-edge.left, 999); + zone-edge.right = ecore_x_window_input_new(con-win, zone-x + zone-w - 1, zone-y, 1, zone-h); + ecore_x_window_show(zone-edge.right); + e_container_window_raise(zone-container, zone-edge.right, 999); + zone-edge.top = ecore_x_window_input_new(con-win, zone-x + 1, zone-y, zone-w - 2, 1); + ecore_x_window_show(zone-edge.top); + e_container_window_raise(zone-container, zone-edge.top, 999); + zone-edge.bottom = ecore_x_window_input_new(con-win, zone-x + 1, zone-y + zone-h - 1, zone-w - 2, 1); + ecore_x_window_show(zone-edge.bottom); + e_container_window_raise(zone-container, zone-edge.bottom, 999); zone-handlers = evas_list_append(zone-handlers, ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN, @@ -160,10 +168,10 @@ ev-zone = zone; ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev, _e_zone_event_move_resize_free, NULL); - ecore_x_window_move_resize(zone-flip.left, zone-x, zone-y, 1, zone-h); - ecore_x_window_move_resize(zone-flip.right, zone-x + zone-w - 1, zone-y, 1, zone-h); - ecore_x_window_move_resize(zone-flip.top, zone-x + 1, zone-y, zone-w - 2, 1); - ecore_x_window_move_resize(zone-flip.bottom, zone-x + 1, zone-y + zone-h - 1, zone-w - 2, 1); + ecore_x_window_move_resize(zone-edge.left, zone-x, zone-y, 1, zone-h); + ecore_x_window_move_resize(zone-edge.right, zone-x + zone-w - 1, zone-y, 1, zone-h); + ecore_x_window_move_resize(zone-edge.top, zone-x + 1, zone-y, zone-w - 2, 1); + ecore_x_window_move_resize(zone-edge.bottom, zone-x + 1, zone-y + zone-h - 1, zone-w - 2, 1); } EAPI void @@ -185,10 +193,10 @@ ev-zone = zone; ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev, _e_zone_event_move_resize_free, NULL); - ecore_x_window_move_resize(zone-flip.left, zone-x, zone-y, 1, zone-h); - ecore_x_window_move_resize(zone-flip.right, zone-x + zone-w - 1, zone-y, 1, zone-h); - ecore_x_window_move_resize(zone-flip.top, zone-x + 1, zone-y, zone-w - 2, 1); - ecore_x_window_move_resize(zone-flip.bottom, zone-x + 1, zone-y + zone-h - 1, zone-w - 2, 1); + ecore_x_window_move_resize(zone-edge.left, zone-x, zone-y, 1, zone-h); + ecore_x_window_move_resize(zone-edge.right, zone-x + zone-w - 1, zone-y, 1, zone-h); + ecore_x_window_move_resize(zone-edge.top, zone-x + 1, zone-y, zone-w - 2, 1); + ecore_x_window_move_resize(zone-edge.bottom, zone-x + 1, zone-y + zone-h - 1, zone-w - 2, 1); } EAPI void @@ -218,10 +226,10 @@ ev-zone = zone; ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev, _e_zone_event_move_resize_free, NULL); - ecore_x_window_move_resize(zone-flip.left, zone-x, zone-y, 1, zone-h); - ecore_x_window_move_resize(zone-flip.right, zone-x + zone-w - 1, zone-y, 1, zone-h); - ecore_x_window_move_resize(zone-flip.top, zone-x + 1, zone-y, zone-w - 2, 1); - ecore_x_window_move_resize(zone-flip.bottom, zone-x + 1, zone-y + zone-h - 1, zone-w - 2, 1); + ecore_x_window_move_resize(zone-edge.left, zone-x, zone-y, 1, zone-h); + ecore_x_window_move_resize(zone-edge.right, zone-x + zone-w - 1, zone-y, 1, zone-h); + ecore_x_window_move_resize(zone-edge.top, zone-x + 1, zone-y, zone-w - 2, 1); + ecore_x_window_move_resize(zone-edge.bottom, zone-x + 1, zone-y + zone-h - 1, zone-w - 2, 1); } EAPI void @@ -581,10 +589,10 @@ E_Zone *zone; zone = lll-data; - ecore_x_window_hide(zone-flip.left); - ecore_x_window_hide(zone-flip.right); - ecore_x_window_hide(zone-flip.top); -
Re: [E-devel] E CVS: apps/e englebass
В сб, 2007-11-24 в 07:31 -0500, Enlightenment CVS написа: Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_shelf.c Log Message: Interrupt hiding on mouse in. This one or the next patch breaks shelf autohide, if the user moves the mouse too fast out of the shelf boundary === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v retrieving revision 1.82 retrieving revision 1.83 diff -u -3 -r1.82 -r1.83 --- e_shelf.c 23 Nov 2007 12:03:00 - 1.82 +++ e_shelf.c 24 Nov 2007 12:31:15 - 1.83 @@ -130,6 +130,8 @@ es-handlers = evas_list_append(es-handlers, ecore_event_handler_add(E_EVENT_ZONE_EDGE_IN, _e_shelf_cb_mouse_in, es)); es-handlers = evas_list_append(es-handlers, + ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN, _e_shelf_cb_mouse_in, es)); + es-handlers = evas_list_append(es-handlers, ecore_event_handler_add(ECORE_X_EVENT_MOUSE_OUT, _e_shelf_cb_mouse_out, es)); es-o_base = edje_object_add(es-evas); @@ -1212,66 +1214,79 @@ static int _e_shelf_cb_mouse_in(void *data, int type, void *event) { - E_Event_Zone_Edge_In *ev; E_Shelf *es; - int show = 0; - ev = event; es = data; - switch (es-gadcon-orient) + edje_object_signal_emit(es-o_base, e,state,focused, e); + if (es-cfg-autohide_show_action) return 1; + + if (type == E_EVENT_ZONE_EDGE_IN) { - case E_GADCON_ORIENT_LEFT: - if ((ev-edge == E_ZONE_EDGE_LEFT) (ev-y = es-y) (ev-y = (es-y + es-h))) -show = 1; - break; - case E_GADCON_ORIENT_RIGHT: - if ((ev-edge == E_ZONE_EDGE_RIGHT) (ev-y = es-y) (ev-y = (es-y + es-h))) -show = 1; - break; - case E_GADCON_ORIENT_TOP: - if ((ev-edge == E_ZONE_EDGE_TOP) (ev-x = es-x) (ev-x = (es-x + es-w))) -show = 1; - break; - case E_GADCON_ORIENT_BOTTOM: - if ((ev-edge == E_ZONE_EDGE_BOTTOM) (ev-x = es-x) (ev-x = (es-x + es-w))) -show = 1; - break; - case E_GADCON_ORIENT_CORNER_TL: - case E_GADCON_ORIENT_CORNER_LT: - if ((ev-edge == E_ZONE_EDGE_TOP) (ev-x = es-x) (ev-x = (es-x + es-w))) -show = 1; - else if ((ev-edge == E_ZONE_EDGE_LEFT) (ev-y = es-y) (ev-y = (es-y + es-h))) -show = 1; - break; - case E_GADCON_ORIENT_CORNER_TR: - case E_GADCON_ORIENT_CORNER_RT: - if ((ev-edge == E_ZONE_EDGE_TOP) (ev-x = es-x) (ev-x = (es-x + es-w))) -show = 1; - else if ((ev-edge == E_ZONE_EDGE_RIGHT) (ev-y = es-y) (ev-y = (es-y + es-h))) -show = 1; - break; - case E_GADCON_ORIENT_CORNER_BL: - case E_GADCON_ORIENT_CORNER_LB: - if ((ev-edge == E_ZONE_EDGE_BOTTOM) (ev-x = es-x) (ev-x = (es-x + es-w))) -show = 1; - else if ((ev-edge == E_ZONE_EDGE_LEFT) (ev-y = es-y) (ev-y = (es-y + es-h))) -show = 1; - break; - case E_GADCON_ORIENT_CORNER_BR: - case E_GADCON_ORIENT_CORNER_RB: - if ((ev-edge == E_ZONE_EDGE_BOTTOM) (ev-x = es-x) (ev-x = (es-x + es-w))) -show = 1; - else if ((ev-edge == E_ZONE_EDGE_RIGHT) (ev-y = es-y) (ev-y = (es-y + es-h))) -show = 1; - break; - default: - break; - } + E_Event_Zone_Edge_In *ev; + int show = 0; - if (show) + ev = event; + switch (es-gadcon-orient) + { +case E_GADCON_ORIENT_LEFT: + if ((ev-edge == E_ZONE_EDGE_LEFT) (ev-y = es-y) (ev-y = (es-y + es-h))) + show = 1; + break; +case E_GADCON_ORIENT_RIGHT: + if ((ev-edge == E_ZONE_EDGE_RIGHT) (ev-y = es-y) (ev-y = (es-y + es-h))) + show = 1; + break; +case E_GADCON_ORIENT_TOP: + if ((ev-edge == E_ZONE_EDGE_TOP) (ev-x = es-x) (ev-x = (es-x + es-w))) + show = 1; + break; +case E_GADCON_ORIENT_BOTTOM: + if ((ev-edge == E_ZONE_EDGE_BOTTOM) (ev-x = es-x) (ev-x = (es-x + es-w))) + show = 1; + break; +case E_GADCON_ORIENT_CORNER_TL: +case E_GADCON_ORIENT_CORNER_LT: + if ((ev-edge == E_ZONE_EDGE_TOP) (ev-x = es-x) (ev-x = (es-x + es-w))) + show = 1; + else if ((ev-edge == E_ZONE_EDGE_LEFT) (ev-y = es-y) (ev-y = (es-y + es-h))) + show = 1; + break; +case E_GADCON_ORIENT_CORNER_TR: +case E_GADCON_ORIENT_CORNER_RT: + if ((ev-edge == E_ZONE_EDGE_TOP) (ev-x = es-x) (ev-x = (es-x + es-w))) + show = 1; + else if ((ev-edge == E_ZONE_EDGE_RIGHT) (ev-y = es-y) (ev-y = (es-y + es-h))) + show = 1; + break; +
Re: [E-devel] E CVS: apps/e englebass
Isn't an 'else' useless here, because - it can't be both? On Wed, Sep 19, 2007 at 01:14:26AM -0400, Enlightenment CVS wrote: Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/modules/ibar Modified Files: e_mod_main.c Log Message: app-type can't be both. === RCS file: /cvs/e/e17/apps/e/src/modules/ibar/e_mod_main.c,v retrieving revision 1.186 retrieving revision 1.187 diff -u -3 -r1.186 -r1.187 --- e_mod_main.c 19 Sep 2007 01:29:04 - 1.186 +++ e_mod_main.c 19 Sep 2007 05:14:26 - 1.187 @@ -829,8 +829,8 @@ if ((ev-button == 1) (!ic-drag.dnd) (ic-mouse_down == 1)) { if (ic-app-type == EFREET_DESKTOP_TYPE_APPLICATION) - e_exec(ic-ibar-inst-gcc-gadcon-zone, ic-app, NULL, NULL, ibar); - if (ic-app-type == EFREET_DESKTOP_TYPE_LINK) + e_exec(ic-ibar-inst-gcc-gadcon-zone, ic-app, NULL, NULL, ibar); + else if (ic-app-type == EFREET_DESKTOP_TYPE_LINK) { if (strncasecmp (ic-app-url, file:, 5) == 0) { - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E CVS: apps/e englebass
On Wednesday, 19 September 2007, at 09:37:01 (+0200), Brian 'morlenxus' Miculcy wrote: Isn't an 'else' useless here, because - it can't be both? No. The else is correct *because* it can't be both. Without the else, you waste time doing an unnecessary if. Michael -- Michael Jennings (a.k.a. KainX) http://www.kainx.org/ [EMAIL PROTECTED] Linux Server/Cluster Admin, LBL.gov Author, Eterm (www.eterm.org) --- To err is human; to really louse things up requires root privileges. -- Alexander Pope, slightly paraphrased - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E CVS: apps/e englebass
On Wed, Sep 19, 2007 at 08:07:08AM -0700, Michael Jennings wrote: On Wednesday, 19 September 2007, at 09:37:01 (+0200), Brian 'morlenxus' Miculcy wrote: Isn't an 'else' useless here, because - it can't be both? No. The else is correct *because* it can't be both. Without the else, you waste time doing an unnecessary if. Ah yes, you're right. :) Brian Michael -- Michael Jennings (a.k.a. KainX) http://www.kainx.org/ [EMAIL PROTECTED] Linux Server/Cluster Admin, LBL.gov Author, Eterm (www.eterm.org) --- To err is human; to really louse things up requires root privileges. -- Alexander Pope, slightly paraphrased - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E CVS: apps/e englebass
Hannes Janetzek wrote: Am Mon, 07 May 2007 20:05:46 +0300 schrieb Виктор Кожухаров [EMAIL PROTECTED]: В пн, 2007-05-07 в 12:37 -0400, Enlightenment CVS напи�а: Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_shelf.c e_shelf.h Log Message: Don't user timer to hide shelf. What's the reason behind this? The reason for using the timer was that the mouse-out-event got lost sometimes when using mouse-out from the evas, but with the mouse-out-event from the ecore_evas it works nicely. So this is probably the better solution. btw. I found another small problem with autohide. The shelf should show when a drag-n-drop item is moved over it. see ibar for example. Tried now? Fixed this yesterday too :) Sebastian - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E CVS: apps/e englebass
В пн, 2007-05-07 в 12:37 -0400, Enlightenment CVS написа: Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_shelf.c e_shelf.h Log Message: Don't user timer to hide shelf. What's the reason behind this? === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- e_shelf.c 6 May 2007 16:52:24 - 1.60 +++ e_shelf.c 7 May 2007 16:37:54 - 1.61 @@ -18,6 +18,7 @@ static void _e_shelf_cb_menu_items_append(void *data, E_Menu *mn); static void _e_shelf_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info); static void _e_shelf_cb_mouse_in(Ecore_Evas *ee); +static void _e_shelf_cb_mouse_out(Ecore_Evas *ee); static int _e_shelf_cb_id_sort(void *data1, void *data2); static int _e_shelf_cb_hide_timer(void *data); static int _e_shelf_cb_hide_animator(void *data); @@ -140,6 +141,7 @@ evas_object_event_callback_add(es-o_event, EVAS_CALLBACK_MOUSE_DOWN, _e_shelf_cb_mouse_down, es); ecore_evas_callback_mouse_in_set(es-ee, _e_shelf_cb_mouse_in); + ecore_evas_callback_mouse_out_set(es-ee, _e_shelf_cb_mouse_out); es-o_base = edje_object_add(es-evas); es-name = evas_stringshare_add(name); @@ -271,29 +273,23 @@ E_OBJECT_CHECK(es); E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE); - if ((!es-cfg-autohide) (!es-hidden)) return; + if (!es-cfg-autohide) return; - if (show) -{ - if (!es-hide_timer) es-hide_timer = ecore_timer_add(0.3, _e_shelf_cb_hide_timer, es); - - if ((es-hidden) (!es-instant_timer)) - { - es-hidden = 0; - edje_object_signal_emit(es-o_base, e,state,visible, e); - if (es-instant_delay = 0.0) - { - if (!es-instant_timer) -_e_shelf_cb_instant_hide_timer(es); - } - else - { - if (!es-hide_animator) -es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); - } + if ((show) (es-hidden)) +{ + es-hidden = 0; + edje_object_signal_emit(es-o_base, e,state,visible, e); + if (es-instant_delay = 0.0) + { + _e_shelf_cb_instant_hide_timer(es); + } + else + { + if (!es-hide_animator) + es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); } } - else if ((!show) (es-cfg-autohide) (!es-hidden) (!es-gadcon-editing)) + else if ((!show) (!es-hidden) (!es-gadcon-editing)) { es-hidden = 1; edje_object_signal_emit(es-o_base, e,state,hidden, e); @@ -617,11 +613,6 @@ static void _e_shelf_free(E_Shelf *es) { - if (es-hide_timer) - { - ecore_timer_del(es-hide_timer); - es-hide_timer = NULL; - } if (es-hide_animator) { ecore_animator_del(es-hide_animator); @@ -632,7 +623,7 @@ ecore_timer_del(es-instant_timer); es-instant_timer = NULL; } - + if (es-menu) { e_menu_post_deactivate_callback_set(es-menu, NULL, NULL); @@ -1150,11 +1141,20 @@ es = ecore_evas_data_get(ee, e_shelf); if (!es) return; - es-last_in = ecore_time_get(); edje_object_signal_emit(es-o_base, e,state,focused, e); e_shelf_toggle(es, 1); } +static void +_e_shelf_cb_mouse_out(Ecore_Evas *ee) +{ + E_Shelf *es; + + es = ecore_evas_data_get(ee, e_shelf); + if (!es) return; + e_shelf_toggle(es, 0); +} + static int _e_shelf_cb_id_sort(void *data1, void *data2) { @@ -1163,41 +1163,6 @@ es1 = data1; es2 = data2; return (es1-id) (es2-id); -} - -static int -_e_shelf_cb_hide_timer(void *data) -{ - Evas_Coord x, y, w, h, px, py; - - E_Shelf *es = data; - - evas_object_geometry_get(es-o_base, x, y, w, h); - if (es-popup) -ecore_x_pointer_xy_get(es-popup-evas_win, px, py); - else -ecore_x_pointer_xy_get(es-zone-black_win, px, py); - - if (E_INSIDE(px, py, x, y, w, h)) -{ - es-last_in = ecore_time_get(); - return 1; -} - else -{ - if ((es-last_in + es-cfg-hide_timeout) ecore_time_get()) - { - e_shelf_toggle(es, 0); - if (es-hide_timer) - { - ecore_timer_del(es-hide_timer); - es-hide_timer = NULL; - } - return 0; - } - else - return 1; -} } static int === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- e_shelf.h 23 Apr 2007 17:21:38 - 1.21 +++ e_shelf.h 7 May 2007 16:37:54 - 1.22 @@ -37,10
Re: [E-devel] E CVS: apps/e englebass
On 04/05/2007 10:36, Enlightenment CVS wrote: Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_int_menus.c Log Message: - No need to use calloc. Was curious about your reason(s) for not wanting to use calloc. Sometimes the argument is speed. Just wondering your reasons. The main reason I ask is because without it, a bug appears. The reason a bug seems to appear is that I depend on the allocated block being initialized to zeros. The first use of strNcpy below is copying a string of chars whose src is greater in length than the number of chars being copied. The resultant string does not have a null terminator at the end of the src chars copied. Since the block allocated has garbage in it... there can be N chars before a null terminator is found. This is significant because strNcat looks for that null terminator in its first arg, and begins the append there. The result is we wind up with some unforeseen junk in the string. The above bug can be reproduced easily by simply setting the max length of your clientlist menu captions to something quite small... say 10 characters. And then viewing your clientlist menu. Best case we wind up with no junk. Worst case... E seems to segv. One fix is to return to the use of calloc(). Another would be to write a line or two more and make sure abbv has a null terminator where I expect it to be, before continuing with the strncat()s. Please let me know your thoughts on this... and if I've misdiagnosed the problem. - Use const char to store pointers to title. === RCS file: /cvs/e/e17/apps/e/src/bin/e_int_menus.c,v retrieving revision 1.208 retrieving revision 1.209 diff -u -3 -r1.208 -r1.209 --- e_int_menus.c 4 Apr 2007 13:25:54 - 1.208 +++ e_int_menus.c 5 Apr 2007 15:36:37 - 1.209 @@ -1254,19 +1254,21 @@ static const char * _e_int_menus_clients_title_abbrv(const char *title) { - char *abbv, *left, *right; int max_len; max_len = e_config-clientlist_max_caption_len; if ((max_len != 0) (strlen(title) max_len)) { - abbv = calloc(E_CLIENTLIST_MAX_CAPTION_LEN+4, sizeof(char)); + char *abbv; + const char *left, *right; + + abbv = malloc(E_CLIENTLIST_MAX_CAPTION_LEN + 4); left = title; - right = title + (strlen(title) - (max_len/2)); - - strncpy(abbv, left, max_len/2); + right = title + (strlen(title) - (max_len / 2)); + + strncpy(abbv, left, max_len / 2); strncat(abbv, ..., 3); - strncat(abbv, right, max_len/2); + strncat(abbv, right, max_len / 2); return abbv; } - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs -- Regards, Ravenlock - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E CVS: apps/e englebass (FreeBSD Breakage?)
On 12/15/2006 02:32, Enlightenment CVS wrote: Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/modules/temperature Modified Files: e_mod_config.c e_mod_main.c e_mod_main.h I think the patch below has broken me. Using a fresh cvsup, I can not build apps/e and the associated temperature module. Attached is a patch that allows it to build on my machine, and the temperature module still seems to function. Though honestly I'm not sure if I've patched it properly. Additionally, cpufreq would not build (though no fault of this commit). I've patched it and attached that patch to this as well. It too seems to still run now. Please review. I've seen no commit regarding cpufreq recently so... dunno. Maybe something wron on my end. I'm a bit new so, if I simply had bad bits on my machine please excuse. Also, I do not usually use those modules, and happen to have a bit of an odd setup... so please take my testing of them with a grain of salt. Regards. Log Message: Only check the type of sensor on init and when changing config. === RCS file: /cvs/e/e17/apps/e/src/modules/temperature/e_mod_config.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- e_mod_config.c 14 Dec 2006 15:04:15 - 1.25 +++ e_mod_config.c 15 Dec 2006 08:32:31 - 1.26 @@ -29,7 +29,7 @@ int high_temp; int sensor; - int acpizone; + Ecore_List *sensors; }; /* Protos */ @@ -67,8 +67,9 @@ static void _fill_data(E_Config_Dialog_Data *cfdata) { - double p; + double p; Ecore_List *therms; + char *name; cfdata-units = temperature_config-units; if (temperature_config-units == CELCIUS) @@ -110,34 +111,46 @@ cfdata-high_method = TEMP_HIGH_HIGH; cfdata-sensor = 0; - if (temperature_config-sensor_name) - { - if (!strcmp(temperature_config-sensor_name, temp1)) - cfdata-sensor = 0; - else if (!strcmp(temperature_config-sensor_name, temp2)) - cfdata-sensor = 1; - else if (!strcmp(temperature_config-sensor_name, temp3)) - cfdata-sensor = 2; - } - cfdata-acpizone = 0; - if (temperature_config-acpi_sel) + switch (temperature_config-sensor_type) { - therms = ecore_file_ls(/proc/acpi/thermal_zone); - if (therms) -{ - char *tzone; - int n = 0; - while ((tzone = ecore_list_next(therms))) - { -if (!strcmp(temperature_config-acpi_sel, tzone)) - { - cfdata-acpizone = n; - break; - } -else n++; - } - ecore_list_destroy(therms); -} + case SENSOR_TYPE_NONE: +break; + case SENSOR_TYPE_FREEBSD: +break; + case SENSOR_TYPE_OMNIBOOK: +break; + case SENSOR_TYPE_LINUX_MACMINI: +break; + case SENSOR_TYPE_LINUX_I2C: +ecore_list_append(cfdata-sensors, strdup(temp1)); +ecore_list_append(cfdata-sensors, strdup(temp2)); +ecore_list_append(cfdata-sensors, strdup(temp3)); +ecore_list_goto_first(cfdata-sensors); +while ((name = ecore_list_next(cfdata-sensors))) + { + if (!strcmp(temperature_config-sensor_name, name)) + break; + cfdata-sensor++; + } +break; + case SENSOR_TYPE_LINUX_ACPI: +therms = ecore_file_ls(/proc/acpi/thermal_zone); +if (therms) + { + int n = 0; + + while ((name = ecore_list_next(therms))) + { + ecore_list_append(cfdata-sensors, strdup(name)); + if (!strcmp(temperature_config-sensor_name, name)) +{ + cfdata-sensor = n; +} + n++; + } + ecore_list_destroy(therms); + } +break; } } @@ -147,6 +160,8 @@ E_Config_Dialog_Data *cfdata; cfdata = E_NEW(E_Config_Dialog_Data, 1); + cfdata-sensors = ecore_list_new(); + ecore_list_set_free_cb(cfdata-sensors, free); _fill_data(cfdata); return cfdata; } @@ -155,6 +170,8 @@ _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { temperature_config-config_dialog = NULL; + if (cfdata-sensors) ecore_list_destroy(cfdata-sensors); + cfdata-sensors = NULL; free(cfdata); } @@ -276,57 +293,24 @@ e_widget_framelist_object_append(of, ob); e_widget_list_object_append(o, of, 1, 1, 0.5); -#ifndef __FreeBSD__ - Ecore_List *therms; - - therms = ecore_file_ls(/proc/acpi/thermal_zone); - if ((!therms) || (ecore_list_is_empty(therms))) + if (!ecore_list_is_empty(cfdata-sensors)) { - FILE *f; - - if (therms) - { -ecore_list_destroy(therms); -therms