Re: [E-devel] egraph: library for rendering dynamic graphs in evas
Thank you Tom. Repositories added for egraph and elife : http://git.enlightenment.org/devs/kiwi/egraph.git/ http://git.enlightenment.org/devs/kiwi/elife.git/ On 03/15/13 12:34, Tom Hacohen wrote: > Done. You are in. Please create yourself repositories for egraph and > elife under your name. > > Cheers, > Tom. > > On 15/03/13 11:25, Laurent Ghigonis wrote: >> Thanks ! >> >> Attached info.txt and id_rsa.pub. >> Kept the old 'kiwi' nick. >> Phab account created (under name 'kiwi') >> Subscribed to the enlightenment-devel mailing list. >> >> Here are the 2 projects I would like to add and maintain : >> * egraph - library for rendering dynamic graphs in evas >> * elife - Game of life as e17 background, that reacts to local machine >> activity >> >> Glad to be back :) >> >> On 03/14/13 07:35, Carsten Haitzler (The Rasterman) wrote: >>> On Sun, 10 Mar 2013 15:52:16 +0100 Laurent Ghigonis >>> said: >>> >>> i have to say that is rather cool/neat. :) and onefang.. this isnt >>> the graphing >>> u think it is. :) ummm i think this seems cool enough to get some git >>> space etc. >>> >>> we need to give u dev access and you'll need a phab account too. :) >>> we need >>> your info.txt and public key .pub file. :) >>> >>> anyone against this? >>> >>>> Hello all, >>>> >>>> I made a library to render graphs that can be updated dynamically. It >>>> uses evas + efx to render and edje for themes. >>>> >>>> Egraph is used in a live computer network visualisation tool called >>>> "glouglou" that i'm building right now (not in usable state atm). >>>> See the demo: >>>> http://www.enlightenment.org/~cedric/gg_map-0.2-demo.ogv >>>> >>>> You can checkout egraph code from the glouglou repository here : >>>> git clone http://git.zx2c4.com/glouglou >>>> Or view it: >>>> http://git.zx2c4.com/glouglou/tree/egraph >>>> >>>> * It's BSD licensed. >>>> * It does *not* use autotools (yet?), but simple Makefile. >>>> * An instance of the graph is an evas smart object, and nodes and >>>> vertices are edje objects that can be themed (see >>>> http://git.zx2c4.com/glouglou/tree/egraph/egraph.edc). >>>> * It computes graph layout using igraph library in a separate thread >>>> >>>> If you like egraph, i'd like to host in on the enlightenment git >>>> server. >>>> FYI i was an e developer at some point, named "kiwi" :) >>>> I'm sometimes named "glouglou" on IRC. >>>> >>>> Have fun with it! >>>> Laurent >>>> >>>> PS: i'm *not* on the mailing list, please put me in Cc in your answers. >>>> >>>> -- >>>> >>>> Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester >>>> Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the >>>> endpoint security space. For insight on selecting the right partner to >>>> tackle endpoint security challenges, access the full report. >>>> http://p.sf.net/sfu/symantec-dev2dev >>>> ___ >>>> enlightenment-devel mailing list >>>> enlightenment-devel@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >>>> >>> >>> >> >> >> >> -- >> >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://p.sf.net/sfu/appdyn_d2d_mar >> >> >> >> ___ >> enlightenment-devel mailing list >> enlightenment-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] egraph: library for rendering dynamic graphs in evas
Thanks ! Attached info.txt and id_rsa.pub. Kept the old 'kiwi' nick. Phab account created (under name 'kiwi') Subscribed to the enlightenment-devel mailing list. Here are the 2 projects I would like to add and maintain : * egraph - library for rendering dynamic graphs in evas * elife - Game of life as e17 background, that reacts to local machine activity Glad to be back :) On 03/14/13 07:35, Carsten Haitzler (The Rasterman) wrote: > On Sun, 10 Mar 2013 15:52:16 +0100 Laurent Ghigonis said: > > i have to say that is rather cool/neat. :) and onefang.. this isnt the > graphing > u think it is. :) ummm i think this seems cool enough to get some git space > etc. > > we need to give u dev access and you'll need a phab account too. :) we need > your info.txt and public key .pub file. :) > > anyone against this? > >> Hello all, >> >> I made a library to render graphs that can be updated dynamically. It >> uses evas + efx to render and edje for themes. >> >> Egraph is used in a live computer network visualisation tool called >> "glouglou" that i'm building right now (not in usable state atm). >> See the demo: >> http://www.enlightenment.org/~cedric/gg_map-0.2-demo.ogv >> >> You can checkout egraph code from the glouglou repository here : >> git clone http://git.zx2c4.com/glouglou >> Or view it: >> http://git.zx2c4.com/glouglou/tree/egraph >> >> * It's BSD licensed. >> * It does *not* use autotools (yet?), but simple Makefile. >> * An instance of the graph is an evas smart object, and nodes and >> vertices are edje objects that can be themed (see >> http://git.zx2c4.com/glouglou/tree/egraph/egraph.edc). >> * It computes graph layout using igraph library in a separate thread >> >> If you like egraph, i'd like to host in on the enlightenment git server. >> FYI i was an e developer at some point, named "kiwi" :) >> I'm sometimes named "glouglou" on IRC. >> >> Have fun with it! >> Laurent >> >> PS: i'm *not* on the mailing list, please put me in Cc in your answers. >> >> -- >> Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester >> Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the >> endpoint security space. For insight on selecting the right partner to >> tackle endpoint security challenges, access the full report. >> http://p.sf.net/sfu/symantec-dev2dev >> ___ >> enlightenment-devel mailing list >> enlightenment-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > > ssh-rsa B3NzaC1yc2EDAQABAAACAQDHqcjygIMufXX2ymlgqSKZlSYbWZx9Z4vW1ikLoMY4Se5PzumPPrpWxKAUkvge+NMfsD+rJJR0vRITQI7iYKMt3DAsjDoa/Zxu6PRu9WHUqMzxxrdwCC9qezEjxIZJOfA2IM8hdfUTCTzeVqkmupibbd3PFgLNENfb+gJPrcotANAeSA91JSQKjomnGMS8VmqTUuQwSOhHPWDYFzyQbazI4K/2FJ/CB1yGh99NHh+LboTRsizbv68OFZ6KKIaRmk5+jWF3AZVbBeUV4QfCRDa9nIAkkbyosUy6kupcTwjhESXMM9XRY0MGyEABWDVgjVMt0riO1jhDx28JWumvm/aTervVtwULFs6M94g8nxSzCTsJ3zLGYO/nFTMVIEdEZK5VHMNJ37ELLwArBc4mxvBEfszEIOU38q1f0pV8sBU44F7HZc5SGprdt1QZU5u8sk22Q/6iKrTOKppfxjSBcPdFKDry6HZ2H+/L8WsU4ZaJ6r9MmlbvhA/VVnS1b0YKwar4BRRmi8KBHaRjW5nRNHrsCaB4cSneJbd6MzB3zCSaJo0W914S6/qKWFx+puHFSHzXepVs8TMvOkLPkthiwQl6+xZMmUuD7k+odJaBk8nmxrILpNQXhd0jeJG3s9INJGI7+U2R6bmDT6Mzf8TOm8CRI5ZiJQiKspYFQxKRUMExJw== user@code Login:kiwi IRC Nick: glouglou Cloak:developer/kiwi Name: Laurent Ghigonis GeoData: 48.85676, 2.35099 Location: Paris, France E-Mail: laur...@p1sec.com WWW: none Managing: egraph, e-modules-extra/elife Contributing: e, edje, e-modules-extra/photo, e-modules-extra/news, e-modules-extra/alarm Group:Libraries, Applications Platform: Fedora (Linux), OpenBSD -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] egraph: library for rendering dynamic graphs in evas
Hello all, I made a library to render graphs that can be updated dynamically. It uses evas + efx to render and edje for themes. Egraph is used in a live computer network visualisation tool called "glouglou" that i'm building right now (not in usable state atm). See the demo: http://www.enlightenment.org/~cedric/gg_map-0.2-demo.ogv You can checkout egraph code from the glouglou repository here : git clone http://git.zx2c4.com/glouglou Or view it: http://git.zx2c4.com/glouglou/tree/egraph * It's BSD licensed. * It does *not* use autotools (yet?), but simple Makefile. * An instance of the graph is an evas smart object, and nodes and vertices are edje objects that can be themed (see http://git.zx2c4.com/glouglou/tree/egraph/egraph.edc). * It computes graph layout using igraph library in a separate thread If you like egraph, i'd like to host in on the enlightenment git server. FYI i was an e developer at some point, named "kiwi" :) I'm sometimes named "glouglou" on IRC. Have fun with it! Laurent PS: i'm *not* on the mailing list, please put me in Cc in your answers. -- Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the endpoint security space. For insight on selecting the right partner to tackle endpoint security challenges, access the full report. http://p.sf.net/sfu/symantec-dev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] e17 wallpaper engine configuration
On Mon, 8 Feb 2010 04:49:44 + Laurent Ghigonis wrote: > On Sun, 7 Feb 2010 22:25:13 +0900 > Carsten Haitzler (The Rasterman) wrote: > > is xrender actually appreciably faster than software for the bg? in > > my experience xrender is pretty bad at things like scaling images > > which are used very heavily on wallpapers. > > heavily depends on the job, so yes it might not be very clean =) > but for some animated wallpapers, like the e17_bg_picasso.edj > avalaible on exchange, the cpu usage drops from 23% enlightenment 16% > xorg to ... 0% 0% (laptop core2duo p8...@2.26ghz, Mobile Intel GM45 > Express, OpenBSD using inteldrm). > e17_bg_layered_sky on the other hand gives poorer performances on > xrender. but in my experience on that intel chipset, animated bg > renders better on xrender. > if you want expedite scores i can run it. > i think the openbsd intel driver is more or less the xorg one, so > should be the same as linux. > > > as such this makes a little sense, but i'm dubious of the long-term > > usefulness. i know i am thinking of killing off the xrender engine > > for evas just for maintainability. > > maybe then the GL engine could be added to e background ? =) mh indeed it is already, just doesn't show up on my laptop. the "wallpaper engine" can use it too i guess. > i was using that some time ago for the background, it was doing well. > but it doesn't even work on my laptop now :/ openbsd ? :p > > laurent -- The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] e17 wallpaper engine configuration
hello, what do you think about a "Wallpaper Engine" item in the Engine config panel that would set the e_config->evas_engine_container, so we can configure the evas engine for the wallpaper separately ? it's usefull for me because xrender has problems rendering all kind of things in enlightenment, but for the background it does a very good job. other engine options are in the configuration, and marked as "maybe remove ?"; i'd vote for removal. i'm ok to take care of it. laurent Index: trunk/e/src/bin/e_config.h === --- trunk/e/src/bin/e_config.h (revision 45914) +++ trunk/e/src/bin/e_config.h (working copy) @@ -84,7 +84,7 @@ int show_desktop_icons; // GUI int edge_flip_dragging; // GUI int evas_engine_default; // GUI - int evas_engine_container; // NO GUI - maybe remove? + int evas_engine_container; // GUI int evas_engine_init; // NO GUI - maybe remove? int evas_engine_menus; // NO GUI - maybe remove? int evas_engine_borders; // NO GUI - maybe remove? Index: trunk/e/src/modules/conf_engine/e_int_config_engine.c === --- trunk/e/src/modules/conf_engine/e_int_config_engine.c (revision 45914) +++ trunk/e/src/modules/conf_engine/e_int_config_engine.c (working copy) @@ -6,6 +6,9 @@ static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); static int _basic_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); +static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); +static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); +static int _advanced_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static void _cb_composite_change(void *data, Evas_Object *obj); static void _cb_confirm_yes(void *data); static void _cb_confirm_no(void *data); @@ -16,6 +19,7 @@ int use_composite; int evas_engine_default; + int evas_engine_container; Evas_Object *o_composite; }; @@ -33,6 +37,9 @@ v->basic.apply_cfdata = _basic_apply_data; v->basic.create_widgets = _basic_create_widgets; v->basic.check_changed = _basic_check_changed; + v->advanced.apply_cfdata = _advanced_apply_data; + v->advanced.create_widgets = _advanced_create_widgets; + v->advanced.check_changed = _advanced_check_changed; cfd = e_config_dialog_new(con, _("Engine Settings"), @@ -57,6 +64,7 @@ { cfdata->use_composite = e_config->use_composite; cfdata->evas_engine_default = e_config->evas_engine_default; + cfdata->evas_engine_container = e_config->evas_engine_container; } static void @@ -117,6 +125,75 @@ return o; } +static int +_advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) +{ + e_config->use_composite = cfdata->use_composite; + e_config->evas_engine_default = cfdata->evas_engine_default; + e_config->evas_engine_container = cfdata->evas_engine_container; + e_config_save_queue(); + return 1; +} + +static int +_advanced_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) +{ + return !((cfdata->use_composite == e_config->use_composite) && + (cfdata->evas_engine_default == e_config->evas_engine_default) && + (cfdata->evas_engine_container == e_config->evas_engine_container)); +} + +static Evas_Object * +_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) +{ + Evas_Object *o, *ob, *of; + E_Radio_Group *rg; + Eina_List *l; + int engine; + + o = e_widget_list_add(evas, 0, 0); + + of = e_widget_framelist_add(evas, _("General Settings"), 0); + ob = e_widget_check_add(evas, _("Enable Composite"), + &(cfdata->use_composite)); + cfdata->o_composite = ob; + e_widget_on_change_hook_set(ob, _cb_composite_change, cfdata); + e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(o, of, 1, 1, 0.5); + + of = e_widget_framelist_add(evas, _("Default Engine"), 0); + rg = e_widget_radio_group_new(&(cfdata->evas_engine_default)); + for (l = e_config_engine_list(); l; l = l->next) + { +if (!strcmp("SOFTWARE", l->data)) engine = E_EVAS_ENGINE_SOFTWARE_X11; +else if (!strcmp("GL", l->data)) engine = E_EVAS_ENGINE_GL_X11; +else if (!strcmp("XRENDER", l->data)) engine = E_EVAS_ENGINE_XRENDER_X11; +else if (!strcmp("SOFTWARE_16", l->data)) engine = E_EVAS_ENGINE_SOFTWARE_X11_16; + else continue; +ob = e_widget_radio_add(evas, _(l->data), engine, rg); +e_widget_framelist_object_append(of, ob); + } + e_widget_list_object_append(o, of, 1, 1, 0.5); + + of = e_widget_framelist_add(evas, _("Wallpaper Engine"), 0); + rg = e_widget_radio_group_new(&(cfdata->e
[E-devel] patch : fix e border reset to default
noticed that when you set default border to "borderless", it gets reseted to "default" every time a border is displayed with a flag like urgent ? here is a fix, can someone review it ? i don't have an overview of e_border. when can't find the wanted border, it tries the user default border before reseting it to theme default. thanks, laurent Index: src/bin/e_border.c === --- src/bin/e_border.c (revision 43803) +++ src/bin/e_border.c (working copy) @@ -6166,16 +6166,22 @@ ok = e_theme_edje_object_set(o, "base/theme/borders", buf); if ((!ok) && (strcmp(bd->client.border.name, "borderless"))) { - ok = e_theme_edje_object_set(o, "base/theme/borders", - "e/widgets/border/default/border"); - if (ok) - { - /* Reset default border style to default */ - if (e_config->theme_default_border_style) - eina_stringshare_del(e_config->theme_default_border_style); - e_config->theme_default_border_style = eina_stringshare_add("default"); - e_config_save_queue(); - } + snprintf(buf, sizeof(buf), "e/widgets/border/%s/border", + e_config->theme_default_border_style); + ok = e_theme_edje_object_set(o, "base/theme/borders", buf); + if (!ok && (strcmp(e_config->theme_default_border_style, "borderless"))) + { + ok = e_theme_edje_object_set(o, "base/theme/borders", + "e/widgets/border/default/border"); + if (!ok) + { + /* Reset default border style to default */ + if (e_config->theme_default_border_style) + eina_stringshare_del(e_config->theme_default_border_style); + e_config->theme_default_border_style = eina_stringshare_add("default"); + e_config_save_queue(); + } + } } bd->shaped = 0; -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] patch : e desklock on sleep
hello, here is a patch that adds the ability to lock the screen (via desklock) when suspending or hibernating using e17 system controls. checkbox in conf_desklock. what do you think about it ? laurent Index: src/bin/e_config.c === --- src/bin/e_config.c (revision 43803) +++ src/bin/e_config.c (working copy) @@ -587,6 +587,8 @@ E_CONFIG_VAL(D, T, desklock_post_screensaver_time, DOUBLE); E_CONFIG_VAL(D, T, desklock_autolock_idle, INT); E_CONFIG_VAL(D, T, desklock_autolock_idle_timeout, DOUBLE); + E_CONFIG_VAL(D, T, desklock_on_suspend, INT); + E_CONFIG_VAL(D, T, desklock_on_hibernate, INT); E_CONFIG_VAL(D, T, desklock_use_custom_desklock, INT); E_CONFIG_VAL(D, T, desklock_custom_desklock_cmd, STR); E_CONFIG_VAL(D, T, desklock_ask_presentation, UCHAR); @@ -941,6 +943,11 @@ COPYVAL(desk_flip_pan_y_axis_factor); IFCFGEND; + IFCFG(0x0134); + COPYVAL(desklock_on_suspend); + COPYVAL(desklock_on_hibernate); + IFCFGEND; + e_config->config_version = E_CONFIG_FILE_VERSION; _e_config_free(tcfg); } Index: src/bin/e_config.h === --- src/bin/e_config.h (revision 43803) +++ src/bin/e_config.h (working copy) @@ -35,7 +35,7 @@ /* increment this whenever a new set of config values are added but the users * config doesn't need to be wiped - simply new values need to be put in */ -#define E_CONFIG_FILE_GENERATION 0x0133 +#define E_CONFIG_FILE_GENERATION 0x0134 #define E_CONFIG_FILE_VERSION((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION) #define E_EVAS_ENGINE_DEFAULT 0 @@ -221,6 +221,8 @@ double desklock_post_screensaver_time; // GUI int desklock_autolock_idle; // GUI double desklock_autolock_idle_timeout; // GUI + int desklock_on_suspend; // GUI + int desklock_on_hibernate; // GUI int desklock_use_custom_desklock; // GUI const char *desklock_custom_desklock_cmd; // GUI Eina_Bool desklock_ask_presentation; // GUI Index: src/bin/e_sys.c === --- src/bin/e_sys.c (revision 43803) +++ src/bin/e_sys.c (working copy) @@ -591,6 +591,8 @@ if (_e_sys_dialog) e_object_del(E_OBJECT(_e_sys_dialog)); e_obj_dialog_cb_delete_set(od, _e_sys_dialog_cb_delete); _e_sys_dialog = od; + if (e_config->desklock_on_suspend) + e_desklock_show(); /* FIXME: display suspend status */ } break; @@ -617,6 +619,8 @@ if (_e_sys_dialog) e_object_del(E_OBJECT(_e_sys_dialog)); _e_sys_dialog = od; e_obj_dialog_cb_delete_set(od, _e_sys_dialog_cb_delete); + if (e_config->desklock_on_hibernate) + e_desklock_show(); /* FIXME: display hibernate status */ } break; Index: src/modules/conf_desklock/e_int_config_desklock.c === --- src/modules/conf_desklock/e_int_config_desklock.c (revision 43803) +++ src/modules/conf_desklock/e_int_config_desklock.c (working copy) @@ -47,6 +47,8 @@ int screensaver_lock; double idle_time; double post_screensaver_time; + int on_suspend; + int on_hibernate; /* Adv props */ int bg_method; @@ -132,6 +134,8 @@ cfdata->auto_lock = e_config->desklock_autolock_idle; cfdata->screensaver_lock = e_config->desklock_autolock_screensaver; cfdata->idle_time = e_config->desklock_autolock_idle_timeout / 60; + cfdata->on_suspend = e_config->desklock_on_suspend; + cfdata->on_hibernate = e_config->desklock_on_hibernate; cfdata->post_screensaver_time = e_config->desklock_post_screensaver_time; if (e_config->desklock_login_box_zone >= 0) { @@ -227,6 +231,14 @@ cfdata->gui.basic.auto_lock_slider = ow; e_widget_disabled_set(ow, !cfdata->use_xscreensaver); e_widget_framelist_object_append(of, ow); + ow = e_widget_check_add(evas, _("Lock on suspend"), + &cfdata->on_suspend); + e_widget_disabled_set(ow, !cfdata->use_xscreensaver); + e_widget_framelist_object_append(of, ow); + ow = e_widget_check_add(evas, _("Lock on hibernate"), + &cfdata->on_hibernate); + e_widget_disabled_set(ow, !cfdata->use_xscreensaver); + e_widget_framelist_object_append(of, ow); e_widget_list_object_append(o, of, 1, 1, 0.5); _basic_auto_lock_cb_changed(cfdata, NULL); @@ -243,6 +255,8 @@ e_config->desklock_autolock_screensaver = cfdata->screensaver_lock; e_config->desklock_post_screensaver_time = cfdata->post_screensaver_time; e_config->desklock_autolock_idle_timeout = cfdata->idle_time * 60; + e_config->desklock_on_suspend = cfdata->on_suspend; + e_config->desklock_on_hibernate = cfdata->on_hibernate; e_config_save_queue(); return 1; } @@ -255,7 +269,9 @@ (e_config->desklock_autolock_idle != cfdata->auto_lock) || (e_config->desklock_autolock_s
[E-devel] patch : fix for e config dialogs
Hello, It's been a while :) Here are 3 little patches for e, that makes me happier when using those nice guis =) e_config_dialog : When you switch between basic/advanced pannel, Ok and Apply disabled state actualy reflects if configuration was changed (of course it needs _check_changed to be implemented in the dialog, like in conf_desks, conf_scale, ...). For example in virtual desktop configuration, when you disable flipping in basic pannel without saving, then you go to advanced and come back to basic, and oops you can't apply anymore =) Also add missing header functions, and move public functions on top. e_widget_check : Avoids duplicate widget_change() call on check/uncheck e_int_config_desks : Avoids overriding some advanced pannel values when changing something in basic pannel. For example, when you add one desktop, it was reseting the flip animate time. Also it only checks basic values in basic pannel apply. And keeps coherency when you apply advanced pannel and goes back to basic. I (still) have a developer account and i can commit the changes if you find them ok. laurent Index: e/src/bin/e_config_dialog.c === --- e/src/bin/e_config_dialog.c (revision 43224) +++ e/src/bin/e_config_dialog.c (working copy) @@ -12,6 +12,9 @@ static void _e_config_dialog_cb_apply(void *data, E_Dialog *dia); static void _e_config_dialog_cb_advanced(void *data, void *data2); static void _e_config_dialog_cb_basic(void *data, void *data2); +static void _e_config_dialog_changed(E_Config_Dialog *cfd); +static void _e_config_dialog_unchanged(E_Config_Dialog *cfd); +static int _e_config_dialog_check_changed(E_Config_Dialog *cfd, unsigned char def); static void _e_config_dialog_cb_changed(void *data, Evas_Object *obj); static void _e_config_dialog_cb_close(void *data, E_Dialog *dia); @@ -131,6 +134,24 @@ return NULL; } +EAPI void +e_config_dialog_changed_auto_set(E_Config_Dialog *cfd, unsigned char value) +{ + if (!cfd) return; + cfd->cfg_changed_auto = !!value; +} + +EAPI void +e_config_dialog_changed_set(E_Config_Dialog *cfd, unsigned char value) +{ + if (!cfd) return; + cfd->cfg_changed = !!value; + if (cfd->cfg_changed) + _e_config_dialog_changed(cfd); + else + _e_config_dialog_unchanged(cfd); +} + /* local subsystem functions */ static void _e_config_dialog_free(E_Config_Dialog *cfd) @@ -172,7 +193,7 @@ * else * snprintf(buf, sizeof(buf), "%s...%s", cfd->class, "ADVANCED"); */ snprintf(buf, sizeof(buf), "_config::%s", cfd->class); - + if (!pdia) /* creating window for the first time */ { if ((cfd->view->normal_win) || (e_config->cfgdlg_normal_wins)) @@ -185,6 +206,7 @@ else if (cfd->dia->content_object) evas_object_del(cfd->dia->content_object); + cfd->view_type = type; cfd->dia->data = cfd; e_dialog_title_set(cfd->dia, cfd->title); if (!cfd->cfdata) cfd->cfdata = cfd->view->create_cfdata(cfd); @@ -271,10 +293,16 @@ _e_config_dialog_cb_close, cfd); } + if (cfd->cfg_changed_auto) + { + int changed; + +changed = _e_config_dialog_check_changed(cfd, 0); + e_config_dialog_changed_set(cfd, changed); + } + e_dialog_show(cfd->dia); if (cfd->icon) e_dialog_border_icon_set(cfd->dia, cfd->icon); - - cfd->view_type = type; } static int @@ -415,19 +443,37 @@ } } +static int +_e_config_dialog_check_changed(E_Config_Dialog *cfd, unsigned char def) +{ + int changed; + + if (cfd->view_type == E_CONFIG_DIALOG_CFDATA_TYPE_BASIC) + { +if (cfd->view->basic.check_changed) + changed = cfd->view->basic.check_changed(cfd, cfd->cfdata); + else + changed = def; + } + else if (cfd->view_type == E_CONFIG_DIALOG_CFDATA_TYPE_ADVANCED) + { + if (cfd->view->advanced.check_changed) + changed = cfd->view->advanced.check_changed(cfd, cfd->cfdata); + else + changed = def; + } + + return changed; +} + static void _e_config_dialog_cb_changed(void *data, Evas_Object *obj) { E_Config_Dialog *cfd = data; - int changed = 1; + int changed; if (!cfd->cfg_changed_auto) return; - if ((cfd->view_type == E_CONFIG_DIALOG_CFDATA_TYPE_BASIC) && - (cfd->view->basic.check_changed)) - changed = cfd->view->basic.check_changed(cfd, cfd->cfdata); - else if ((cfd->view_type == E_CONFIG_DIALOG_CFDATA_TYPE_ADVANCED) && - (cfd->view->advanced.check_changed)) - changed = cfd->view->advanced.check_changed(cfd, cfd->cfdata); + changed = _e_config_dialog_check_changed(cfd, 1); e_config_dialog_changed_set(cfd, changed); } @@ -445,20 +491,3 @@ if (ok) e_util_defer_object_del(E_OBJECT(cfd)); } -EAPI void -e_config_dialog_changed_auto_set(E_Config_Dialog *cfd, unsigned char value) -{ - if (!cfd) return; - cfd->cfg_changed_auto = !!value; -} - -EAPI void -e_config_dialog_changed_set(E_Config_Dialog *cfd, unsigned char value
[E-devel] [patch] e_shelf
Hey ! Attached a patch for e_shelf that changes the behavior of windows witch are moved on shelf unhide : it moves the windows just near the shelf, instead of moving them of the shelf size offset. Also fixed missing brackets. If it seems ok, just tell me and i'll commit. laurent? src/bin/e_shelf.patch Index: src/bin/e_shelf.c === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v retrieving revision 1.68 diff -u -r1.68 e_shelf.c --- src/bin/e_shelf.c 10 Jun 2007 11:01:41 - 1.68 +++ src/bin/e_shelf.c 8 Jul 2007 18:43:00 - @@ -949,6 +949,8 @@ bd = l->data; if ((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_NONE) { + int screen_w, screen_h; + if (bd->lock_client_location) continue; if (es->hidden) @@ -969,35 +971,40 @@ if (!es->hidden) { if (!bd->shelf_fix.modified++) - bd->shelf_fix.x = bd->x; - bd->shelf_fix.y = bd->y; + { + bd->shelf_fix.x = bd->x; + bd->shelf_fix.y = bd->y; + } } + evas_output_viewport_get(bd->zone->container->bg_evas, + NULL, NULL, &screen_w, &screen_h); + switch (es->gadcon->orient) { case E_GADCON_ORIENT_TOP: case E_GADCON_ORIENT_CORNER_TL: case E_GADCON_ORIENT_CORNER_TR: if (!es->hidden) - e_border_move(bd, bd->x, bd->y + es->h); + e_border_move(bd, bd->x, es->h); break; case E_GADCON_ORIENT_BOTTOM: case E_GADCON_ORIENT_CORNER_BL: case E_GADCON_ORIENT_CORNER_BR: if (!es->hidden) - e_border_move(bd, bd->x, bd->y - es->h); + e_border_move(bd, bd->x, (screen_h - es->h) - bd->h); break; case E_GADCON_ORIENT_LEFT: case E_GADCON_ORIENT_CORNER_LB: case E_GADCON_ORIENT_CORNER_LT: if (!es->hidden) - e_border_move(bd, bd->x + es->w, bd->y); + e_border_move(bd, es->w, bd->y); break; case E_GADCON_ORIENT_RIGHT: case E_GADCON_ORIENT_CORNER_RB: case E_GADCON_ORIENT_CORNER_RT: if (!es->hidden) - e_border_move(bd, bd->x - es->w, bd->y); + e_border_move(bd, (screen_w - es->w) - bd->w, bd->y); break; default: break; - 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
[E-devel] [PATCH] e ilist fix
Hi Here is a patch to fix some wrong behavior of E_Ilist and E_Widget_Ilist. Each E_Wiget_Ilist has an E_Widget_Callback list, wich contains callbacks for each item of the list. It must have the same order / same number of items than the real items list. And that was not the case before : now we update the E_Widget_Callback list on ilist_clear, ilist_remove_num and when creating a header item, add an empty E_Widget_Callback to the list. I also removed a function : ilist_remove_label. It needed a rewrite, and i didn't see the use of that function, and its not used in e. Of course that's my opinion and if someone needs it, i'll write it. laurent? e_confirm_dialog.patch ? ilist.patch Index: e_ilist.c === RCS file: /cvs/e/e17/apps/e/src/bin/e_ilist.c,v retrieving revision 1.32 diff -u -r1.32 e_ilist.c --- e_ilist.c 9 May 2007 12:54:57 - 1.32 +++ e_ilist.c 9 May 2007 21:21:57 - @@ -332,35 +332,6 @@ E_FREE(si); } -EAPI void -e_ilist_remove_label(Evas_Object *obj, const char *label) -{ - Evas_List *l; - - API_ENTRY return; - if (!sd->items) return; - if (!label) return; - for (l = sd->items; l; l = l->next) - { - E_Ilist_Item *si; - char *t; - - si = l->data; - if (!si) continue; - t = strdup(edje_object_part_text_get(si->o_base, "e.text.label")); - if (!strcmp(t, label)) - { - if (si->o_icon) evas_object_del(si->o_icon); - evas_object_del(si->o_base); - sd->items = evas_list_remove(sd->items, si); - E_FREE(si); - free(t); - break; - } - free(t); - } -} - EAPI const char * e_ilist_nth_label_get(Evas_Object *obj, int n) { Index: e_ilist.h === RCS file: /cvs/e/e17/apps/e/src/bin/e_ilist.h,v retrieving revision 1.16 diff -u -r1.16 e_ilist.h --- e_ilist.h 8 Jan 2007 19:23:21 - 1.16 +++ e_ilist.h 9 May 2007 21:21:57 - @@ -39,7 +39,6 @@ EAPI Evas_Object *e_ilist_selected_icon_get (Evas_Object *obj); EAPI void e_ilist_selected_geometry_get (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); EAPI void e_ilist_remove_num(Evas_Object *obj, int n); -EAPI void e_ilist_remove_label (Evas_Object *obj, const char *label); EAPI const char *e_ilist_nth_label_get (Evas_Object *obj, int n); EAPI void e_ilist_nth_label_set (Evas_Object *obj, int n, const char *label); EAPI Evas_Object *e_ilist_nth_icon_get (Evas_Object *obj, int n); Index: e_widget_ilist.c === RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_ilist.c,v retrieving revision 1.33 diff -u -r1.33 e_widget_ilist.c --- e_widget_ilist.c 9 May 2007 19:07:58 - 1.33 +++ e_widget_ilist.c 9 May 2007 21:21:57 - @@ -103,8 +103,12 @@ e_widget_ilist_header_append(Evas_Object *obj, Evas_Object *icon, const char *label) { E_Widget_Data *wd; + E_Widget_Callback *wcb; wd = e_widget_data_get(obj); + wcb = E_NEW(E_Widget_Callback, 1); + if (!wcb) return; + wd->callbacks = evas_list_append(wd->callbacks, wcb); e_ilist_append(wd->o_ilist, icon, label, 1, NULL, NULL, NULL, NULL); if (icon) evas_object_show(icon); } @@ -145,8 +149,18 @@ e_widget_ilist_clear(Evas_Object *obj) { E_Widget_Data *wd; + wd = e_widget_data_get(obj); e_ilist_clear(wd->o_ilist); + while (wd->callbacks) + { + E_Widget_Callback *wcb; + + wcb = wd->callbacks->data; + if (wcb->value) free(wcb->value); + free(wcb); + wd->callbacks = evas_list_remove_list(wd->callbacks, wd->callbacks); + } } EAPI int @@ -281,18 +295,15 @@ e_widget_ilist_remove_num(Evas_Object *obj, int n) { E_Widget_Data *wd; + E_Widget_Callback *wcb; wd = e_widget_data_get(obj); e_ilist_remove_num(wd->o_ilist, n); -} - -EAPI void -e_widget_ilist_remove_label(Evas_Object *obj, const char *label) -{ - E_Widget_Data *wd; - - wd = e_widget_data_get(obj); - e_ilist_remove_label(wd->o_ilist, label); + wcb = evas_list_nth(wd->callbacks, n); + if (!wcb) return; + if (wcb->value) free(wcb->value); + free(wcb); + wd->callbacks = evas_list_remove(wd->callbacks, wcb); } EAPI void Index: e_widget_ilist.h === RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_ilist.h,v retrieving revision 1.18 diff -u -r1.18 e_widget_ilist.h --- e_widget_ilist.h 9 May 2007 19:07:58 - 1.18 +++ e_widget_ilist.h 9 May 2007 21:21:57 - @@ -28,7 +28,6 @@ EAPI Evas_Object *e_widget_ilist_selected_icon_get(Evas_Object *obj); EAPI void e_widget_ilist_unselect(Evas_Object *obj); EAPI void e_widget_ilist_remove_num(Evas_Object *obj, int n); -EAPI void e_widget_ilist_remove_label(Evas_Object *obj, const char *label); EAPI void e_widget_ilist_multi_select_set(Evas_Object *obj, int multi); EAPI int
[E-devel] e_confirm_dialog changes
Hi ! I wanted to use e_confirm_dialog in a module and i realised that there is no way to destroy the dialog window, cause the e_confirm_dialog_show does not return anything. I did some change, to make possible deletion of a confirm dialog. The E_Confirm_Dialog struct is now in the .h, and it is an E_Object so it can be deleted easily. It's now more like E_Config_Dialog. Attached a patch, wich i'd be happy to commit if it looks good for everyone =) laurent? e_confirm_dialog.patch Index: e_confirm_dialog.c === RCS file: /cvs/e/e17/apps/e/src/bin/e_confirm_dialog.c,v retrieving revision 1.3 diff -u -r1.3 e_confirm_dialog.c --- e_confirm_dialog.c 30 Oct 2006 10:42:23 - 1.3 +++ e_confirm_dialog.c 28 Apr 2007 03:05:53 - @@ -3,47 +3,25 @@ */ #include "e.h" -typedef struct _E_Confirm_Dialog E_Confirm_Dialog; - -struct _E_Confirm_Dialog -{ - struct - { - void *data; - void (*func)(void *data); - } yes; - - struct - { - void *data; - void (*func)(void *data); - } no; - - struct - { - void *data; - void (*func)(void *data); - } del; - E_Dialog *dia; -}; - - / private function definitions **/ +static void _e_confirm_dialog_free(E_Confirm_Dialog *cd); static void _e_confirm_dialog_delete(E_Win *win); static void _e_confirm_dialog_yes(void *data, E_Dialog *dia); static void _e_confirm_dialog_no(void *data, E_Dialog *dia); /** externally accesible functions / -EAPI void +EAPI E_Confirm_Dialog * e_confirm_dialog_show(const char *title, const char *icon, const char *text, - const char *button_text, const char *button2_text, void (*func)(void *data), - void (*func2)(void *data), void *data, void *data2, void (*del_func)(void *data), void *del_data) + const char *button_text, const char *button2_text, + void (*func)(void *data), void (*func2)(void *data), + void *data, void *data2, + void (*del_func)(void *data), void *del_data) { E_Confirm_Dialog *cd; E_Dialog *dia; - cd = E_NEW(E_Confirm_Dialog, 1); + cd = E_OBJECT_ALLOC(E_Confirm_Dialog, E_CONFIRM_DIALOG_TYPE, _e_confirm_dialog_free); cd->yes.func = func; cd->yes.data = data; cd->no.func = func2; @@ -72,10 +50,23 @@ e_dialog_button_focus_num(dia, 1); e_win_centered_set(dia->win, 1); e_dialog_show(dia); + + return cd; } /* private function bodies / static void +_e_confirm_dialog_free(E_Confirm_Dialog *cd) +{ + E_Dialog *dia; + E_Win *win; + + dia = cd->dia; + win = dia->win; + _e_confirm_dialog_delete(win); +} + +static void _e_confirm_dialog_yes(void *data, E_Dialog *dia) { E_Confirm_Dialog *cd; @@ -84,6 +75,7 @@ if (cd->yes.func) cd->yes.func(cd->yes.data); _e_confirm_dialog_delete(cd->dia->win); } + static void _e_confirm_dialog_no(void *data, E_Dialog *dia) { @@ -93,6 +85,7 @@ if (cd->no.func) cd->no.func(cd->no.data); _e_confirm_dialog_delete(cd->dia->win); } + static void _e_confirm_dialog_delete(E_Win *win) { Index: e_confirm_dialog.h === RCS file: /cvs/e/e17/apps/e/src/bin/e_confirm_dialog.h,v retrieving revision 1.3 diff -u -r1.3 e_confirm_dialog.h --- e_confirm_dialog.h 14 Jan 2007 16:48:20 - 1.3 +++ e_confirm_dialog.h 28 Apr 2007 03:05:53 - @@ -1,12 +1,39 @@ /* * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ -#ifdef E_TYPEDEF +#ifdef E_TYPEDEFS + +typedef struct _E_Confirm_Dialog E_Confirm_Dialog; #else #ifndef E_CONFIRM_DIALOG_H #define E_CONFIRM_DIALOG_H +#define E_CONFIRM_DIALOG_TYPE 0x16f5904e + +struct _E_Confirm_Dialog +{ + E_Object e_obj_inherit; + + E_Dialog *dia; + + struct + { + void *data; + void (*func)(void *data); + } yes; + struct + { + void *data; + void (*func)(void *data); + } no; + struct + { + void *data; + void (*func)(void *data); + } del; +}; + /* * @title - dialog title * @icon - dialog icon @@ -17,8 +44,10 @@ * func2 - the function to call if no is pressed * data - the pointer passed to func * data2 - the pointer passed to func2 + * del_func - the function to call before dialog is deleted + * del_data - the pointer passer to del_func */ -EAPI void e_confirm_dialog_show(const char *title, const char *icon, const char *text, const char *button_text, const char *button2_text, void (*func)(void *data), void (*func2)(void *data), void *data, void *data2, void (*del_func)(void *data), void * del_data); +EAPI E_Confirm_Dialog *e_confirm_dialog_show(const char *title, const char *icon, const char *text, const char *button_text, const char *button2_text, void (*func)(void *data), void (*func2)(void *data), void *data, void *data2, void (*del_func)(void *data), void * del_data); #endif #endif -
Re: [E-devel] [PATCH inline] Commented out unused variable to alarm module
Thanks, i'll apply it. Does anybody knows how it works with other BSDs ? laurent Tue, 24 Apr 2007 14:37:33 +0200, Massimiliano Calamelli <[EMAIL PROTECTED]> wrote : > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > Hi all, this small patch sets alarm module buildable under > FreeBSD: i've just commented two occurrence of timezone (extern long > timezone) that it seems to be unused. The FreeBSD implementation of > timezone (/usr/include/time.h) isn't the same of Linux. > > I think to be able to release (in a few days) a patch for easy_e17 to > set usable on FreeBSD. > > Please apply, if it's correct! > > > - --- e_mod_main.cMon Apr 23 11:57:56 2007 > +++ e_mod_main.c.my Mon Apr 23 11:49:26 2007 > @@ -702,7 +702,7 @@ > static double > _epoch_find_date(char *date, int hour, int minute) > { > - - extern long timezone; > + //extern long timezone; > extern int daylight; > struct tm ts; > time_t t; > @@ -737,7 +737,7 @@ > static double > _epoch_find_next(int day_monday, int day_tuesday, int day_wenesday, > int day_thursday, int day_friday, int day_saturday, int day_sunday, > int hour, int minute) { > - - extern long timezone; > + //extern long timezone; > extern int daylight; > int day_week[7]; > struct tm ts; > > > Massimiliano > - -- > Massimiliano Calamelli > http://mcalamelli.netsons.org > [EMAIL PROTECTED] > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.4 (MingW32) > > iD8DBQFGLfoNleGEL56NNP4RAt7LAJ9auvr6lNCl6o1Y47jNNsQ0hjA3uwCfY2H2 > 540MjyvdRHB3SGu/wrvtlLY= > =fX8L > -END PGP SIGNATURE- > > - > 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 - 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
[E-devel] patch for e : exebuf scroll
When you have exebuf opened and youre mouse is over it, imo exebuf does'nt work the right way if you descide to scroll the apps list with the keyboard or the mouse wheel : The selected app will always be the one under the mouse. I believe that if you descide to use keyboard (or wheel) to scroll, you don't want the mouse to select icons anymore (but mouse should get the control back if you move it). Attached a patch that modifies exebuf scroll / app selection in that way. laurent 'kiwi'Index: e_exebuf.c === RCS file: /cvs/e/e17/apps/e/src/bin/e_exebuf.c,v retrieving revision 1.32 diff -u -r1.32 e_exebuf.c --- e_exebuf.c 25 Mar 2007 22:44:59 - 1.32 +++ e_exebuf.c 17 Apr 2007 11:14:04 - @@ -48,7 +48,9 @@ static void _e_exebuf_hist_update(void); static void _e_exebuf_hist_clear(void); static void _e_exebuf_cb_eap_item_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static void _e_exebuf_cb_eap_item_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event_info); static void _e_exebuf_cb_exe_item_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static void _e_exebuf_cb_exe_item_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event_info); static int _e_exebuf_cb_key_down(void *data, int type, void *event); static int _e_exebuf_cb_mouse_down(void *data, int type, void *event); static int _e_exebuf_cb_mouse_up(void *data, int type, void *event); @@ -96,6 +98,9 @@ static Ecore_Timer *eap_scroll_timer = NULL; static Ecore_Animator *animator = NULL; static Ecore_Timer *update_timer = NULL; +static int ev_last_is_mouse = 1; +static E_Exebuf_Exe *ev_last_mouse_exe = NULL; +static int ev_last_which_list = NO_LIST; #define MATCH_LAG 0.33 #define EXEBUFLEN 2048 @@ -354,6 +359,9 @@ static void _e_exebuf_exe_free(E_Exebuf_Exe *exe) { + if (ev_last_mouse_exe == exe) + ev_last_mouse_exe = NULL; + evas_object_del(exe->bg_object); if (exe->icon_object) evas_object_del(exe->icon_object); free(exe); @@ -647,6 +655,7 @@ { _e_exebuf_hist_update(); which_list = HIST_LIST; + ev_last_which_list = HIST_LIST; exe_sel = eaps->data; if (exe_sel) { @@ -1026,6 +1035,8 @@ edje_object_part_text_set(o, "e.text.title", buf); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, _e_exebuf_cb_eap_item_mouse_in, exe); + evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, + _e_exebuf_cb_eap_item_mouse_out, exe); evas_object_show(o); if (edje_object_part_exists(exe->bg_object, "e.swallow.icons")) { @@ -1069,6 +1080,8 @@ edje_object_part_text_set(o, "e.text.title", exe->file); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, _e_exebuf_cb_exe_item_mouse_in, exe); + evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, + _e_exebuf_cb_exe_item_mouse_out, exe); evas_object_show(o); if (edje_object_part_exists(exe->bg_object, "e.swallow.icons")) { @@ -1121,6 +1134,8 @@ edje_object_part_text_set(o, "e.text.title", exe->file); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, _e_exebuf_cb_exe_item_mouse_in, exe); + evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, + _e_exebuf_cb_exe_item_mouse_out, exe); evas_object_show(o); if (edje_object_part_exists(exe->bg_object, "e.swallow.icons")) { @@ -1176,6 +1191,10 @@ _e_exebuf_cb_eap_item_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event_info) { + ev_last_mouse_exe = data; + ev_last_which_list = EAP_LIST; + if (!ev_last_is_mouse) return; + if (exe_sel) _e_exebuf_exe_desel(exe_sel); if (!(exe_sel = data)) return; which_list = EAP_LIST; @@ -1183,9 +1202,24 @@ } static void +_e_exebuf_cb_eap_item_mouse_out(void *data, Evas *evas, Evas_Object *obj, + void *event_info) +{ + ev_last_mouse_exe = NULL; +} + +static void _e_exebuf_cb_exe_item_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event_info) { + ev_last_mouse_exe = data; + + if (which_list == HIST_LIST) + ev_last_which_list = HIST_LIST; + else + ev_last_which_list = EXE_LIST; + if (!ev_last_is_mouse) return; + if (exe_sel) _e_exebuf_exe_desel(exe_sel); if (!(exe_sel = data)) return; if (which_list != HIST_LIST) @@ -1193,10 +1227,19 @@ _e_exebuf_exe_sel(exe_sel); } +static void +_e_exebuf_cb_exe_item_mouse_out(void *data, Evas *evas, Evas_Object *obj, + void *event_info) +{ + ev_last_mouse_exe = NULL; +} + static int _e_exebuf_cb_key_down(void *data, int type, void *event) { Ecore_X_Event_Key_Down *ev; + + ev_last_is_mouse = 0; ev = event; if (ev->win != input_window) return 1; @@ -1253,10 +1296,14 @@ ev = event; if (ev->win != input_window) return 1; - if (ev->button == 1) - _e_exebuf_exec(); - else if (ev->button == 2) - _e_exebuf_complete(); + + if
Re: [E-devel] patch for the pager module, about window urgent state support
> Here is a little patch for the pager module, > that basically able the user to show the pager popup on window urgent > state change. I did some changes on my patch, the new one is attached. Details of the patch : new from last patch : * if the urgent window gets focused, close the popup * new from last patch : show popup if the urgent window is on the current desk too, but is not focused old patch things : * fix: show the urgent state of a window even if the urgent state was set before the pager start * show the urgent state of windows in the pager popup * the pager pops its popup on window urgent state change (configurable) * a desktop can be selected in the pager popup, but all other actions actions are still forbidden inside the popup It adds 3 options in the pager configuration panel : 1. "show popup on urgent window" 2. "urgent popup sticks on the screen" 3. "urgent popup timer" laurent 'kiwi_'? pager_e_mod_main.patch ? patch_e_mod_pager_urgentstate Index: e_mod_config.c === RCS file: /cvs/e/e17/apps/e/src/modules/pager/e_mod_config.c,v retrieving revision 1.27 diff -u -r1.27 e_mod_config.c --- e_mod_config.c 3 Feb 2007 02:02:49 - 1.27 +++ e_mod_config.c 23 Mar 2007 11:41:25 - @@ -12,6 +12,9 @@ { int show_popup; double popup_speed; + int show_popup_urgent; + int popup_urgent_stick; + double popup_urgent_speed; int drag_resist; unsigned char btn_drag; unsigned char btn_noplace; @@ -25,6 +28,8 @@ } grab; struct { + Evas_Object *o_urgent_stick; + Evas_Object *o_urgent_speed; Evas_Object *o_btn1; Evas_Object *o_btn2; } gui; @@ -42,6 +47,7 @@ static void _grab_wnd_hide(E_Config_Dialog_Data *cfdata); static int _grab_mouse_down_cb(void *data, int type, void *event); static int _grab_key_down_cb(void *data, int type, void *event); +static void _check_urgent_stick_cb_change(void *data, Evas_Object *obj); void _config_pager_module(Config_Item *ci) @@ -73,6 +79,9 @@ /* FIXME: configure zone config item */ cfdata->show_popup = pager_config->popup; cfdata->popup_speed = pager_config->popup_speed; + cfdata->show_popup_urgent = pager_config->popup_urgent; + cfdata->popup_urgent_stick = pager_config->popup_urgent_stick; + cfdata->popup_urgent_speed = pager_config->popup_urgent_speed; cfdata->drag_resist = pager_config->drag_resist; cfdata->btn_drag = pager_config->btn_drag; cfdata->btn_noplace = pager_config->btn_noplace; @@ -105,7 +114,7 @@ o = e_widget_list_add(evas, 0, 0); of = e_widget_framelist_add(evas, _("General Settings"), 0); - ob = e_widget_check_add(evas, _("Show Popup"), &(cfdata->show_popup)); + ob = e_widget_check_add(evas, _("Show Popup on desktop change"), &(cfdata->show_popup)); e_widget_framelist_object_append(of, ob); e_widget_list_object_append(o, of, 1, 1, 0.5); @@ -124,7 +133,7 @@ static Evas_Object * _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { - Evas_Object *o, *of, *ob; + Evas_Object *o, *of, *of2, *ob; o = e_widget_list_add(evas, 0, 0); of = e_widget_framelist_add(evas, _("Resistance to Dragging Windows:"), 0); @@ -133,13 +142,29 @@ e_widget_list_object_append(o, of, 1, 1, 0.5); of = e_widget_framelist_add(evas, _("Popup Settings"), 0); - ob = e_widget_check_add(evas, _("Show Popup"), &(cfdata->show_popup)); + ob = e_widget_check_add(evas, _("Show Popup on desktop change"), &(cfdata->show_popup)); e_widget_framelist_object_append(of, ob); ob = e_widget_label_add(evas, _("Popup Speed")); e_widget_framelist_object_append(of, ob); ob = e_widget_slider_add(evas, 1, 0, _("%1.1f seconds"), 0.1, 10.0, 0.1, 0, &(cfdata->popup_speed), NULL, 200); e_widget_framelist_object_append(of, ob); - e_widget_list_object_append(o, of, 1, 1, 0.5); + + of2 = e_widget_framelist_add(evas, _("Urgent window"), 0); + ob = e_widget_check_add(evas, _("Show Popup on urgent window"), &(cfdata->show_popup_urgent)); + e_widget_framelist_object_append(of2, ob); + ob = e_widget_check_add(evas, _("Popup on urgent window sticks on the screen"), &(cfdata->popup_urgent_stick)); + cfdata->gui.o_urgent_stick = ob; + e_widget_on_change_hook_set(ob, _check_urgent_stick_cb_change, cfdata); + e_widget_framelist_object_append(of2, ob); + ob = e_widget_label_add(evas, _("Popup Speed")); + e_widget_framelist_object_append(of2, ob); + ob = e_widget_slider_add(evas, 1, 0, _("%1.1f seconds"), 0.1, 10.0, 0.1, 0, &(cfdata->popup_urgent_speed), NULL, 200); + cfdata->gui.o_urgent_speed = ob; + _check_urgent_stick_cb_change(cfdata, cfdata->gui.o_urgent_stick); + e_widget_framelist_object_append(of2, ob); + + e_widget_framelist_object_append(of, of2); + e_widget_list_object_append(o, of, 1, 1, 0.5); of = e_widget_frametable_add(evas, _("Buttons Settings"), 0); ob = e_widget_label_add(evas
Re: [E-devel] E and gui-toolkits.
Thu, 22 Mar 2007 00:10:33 +0100, Simon TRENY <[EMAIL PROTECTED]> wrote : > There is something I'd like to discuss here although I'm not sure it's > really the right place to do so.. Since Etk and Ewl have begun to be > usable enough, there has been a lot of new apps using one of these > too. The thing is, too often those apps only copy existing apps and I > just don't think this the right way. A lot of these apps would have > been a lot better if they hadn't used a toolkit but if they had used > directly Edje (and using Etk/Ewl only for the config dialogs). For > example, if we want to have a nice, original and innovative image > viewer, I really think its main interface should be directly coded > with Edje (like what entice did but in a more complete way). Same > thing for a filemanager, for an audio/video player or for an IM > client... > > Toolkits are nice for config dialogs or for apps that need to offer a > lot of control. If we really want to have a nice and innovative > Enlightenment desktop environment, we should be different from the > other desktop environments. We should have apps with a really nice > and well-designed interface, and most of the time, this is just not > possible with a toolkit. Elicit is a good example of an innovative > application that blows your mind away when you first launch it. If it > were using Etk or Ewl, it would just have been a common application. Hi, I agree with you that edje is a very powerful tool to create applications, and we should use it to create innovative user interfaces like in elicit or rage. But what about consistency between applications ? Do you have ideas how to maintain some king of consistency between apps, when creating you're own edje interfaces, or when using custom widgets in toolkits ? For example sharing color classes ... A tool like Glade, that would allow us to build interfaces made of Edje objects and Etk (or Ewl) widgets may be a part of the solution, but i believe it should be done at library level, not in a gui creator tool. Just my thoughts =) laurent - 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.php&p=sourceforge&CID=DEVDEV ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Maximize Patch
I like the idea. The user set the size of any maximised window. What do you think about remembering the number of pixels from the top, bottom, left and right side of the screen ? It would handle better a resolution change i believe. Also it would need a little tool to select graphicaly the corners of a maximised window. > So here's a patch that'll let the user set the size and position the > window should get to when maximizing. > This can also be useful if the user has other apps that he'd rather > not overlap while maximizing. > (instant messangers and such) > Bad news, the user has to figure out the dimensions themselves and > input 'em into this. - 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.php&p=sourceforge&CID=DEVDEV ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] patch for the pager module, about window urgent state support
I'm not sure to understand you're answer. Did you test the patch ? The way you describe the things are how they _should_ happend. Closing the popup after the first desktop change. If it's not the case for you, please tell me what you're pager setting are, so maybe i can reproduce that. The thing is, sometimes its _not_ a good thing to close the popup after a desktop change : you could miss a popup urgent event, if you change of desktop at the time the event happend. Need to think about that, maybe a timer that must be respected ... laurent > This is very handy. Though one thought. It might be nice to have a > configurable setting that when selected... the pager popup would > close after the first desktop change. > > For example: >1) you get an urgent window >2) pager pops up >3) you select the desktop of the urgent window >4) the popup closes. > > :) > > Just a thought. - 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.php&p=sourceforge&CID=DEVDEV ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] patch for the pager module, about window urgent state support
I'm not sure to understand you're answer. Did you test the patch ? The way you describe the things are how they _should_ happend. Closing the popup after the first desktop change. If it's not the case for you, please tell me what you're pager setting are, so maybe i can reproduce that. The thing is, sometimes its _not_ a good thing to close the popup after a desktop change : you could miss a popup urgent event, if you change of desktop at the time the event happend. Need to think about that, maybe a timer that must be respected ... laurent > This is very handy. Though one thought. It might be nice to have a > configurable setting that when selected... the pager popup would > close after the first desktop change. > > For example: >1) you get an urgent window >2) pager pops up >3) you select the desktop of the urgent window >4) the popup closes. > > :) > > Just a thought. - 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.php&p=sourceforge&CID=DEVDEV ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] patch for the pager module, about window urgent state support
> oh... another idea (hope you don't mind the unsolicited ideas)... i love them =) > Might be nice to have the pager itself get raised to above all in > response to an urgent client. (configurable) > > This might be nice because, at least for me, the pager is in a less > obtrusive location than the popup would be. The popup can obscure > things when visible. the pager (in my case) is a bit more out of the > way, but would be very noticeable. :) Raise the pager, you mean raise temporary the shelf where the pager is ? It would be a new shelf mecanism to code, maybe a good thing, maybe not verry usefull outside this case ... dunno. I agree, it would be less obstrusive. Sometimes you want that. But the idea is to warn the user, so we want to be sure he sees the event. Make that configurable would be nice, maybe later, when we will have the author's module opinion :) laurent - 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.php&p=sourceforge&CID=DEVDEV ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] patch for the pager module, about window urgent state support
Hi all Here is a little patch for the pager module, that basically able the user to show the pager popup on window urgent state change. More details : * fix: show the urgent state of a window even if the urgent state was set before the pager start * show the urgent state of windows in the pager popup * the pager pops its popup on window urgent state change (configurable) * a desktop can be selected in the pager popup, but all other actions actions are still forbidden inside the popup It adds 3 more options in the pager configuration panel : 1. "show popup on urgent window" 2. "urgent popup sticks on the screen" 3. "urgent popup timer" patch_e_mod_pager_urgentstate Description: Binary data - 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.php&p=sourceforge&CID=DEVDEV___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] several issues
On 30/10/06, Metrics <[EMAIL PROTECTED]> wrote: > > > -- there is something fishy going on with icons. Application icons > >regularly get messed up, e.g. I'd get the 'xterm' icon for another > >app in the ibox. I can't really narrow it down (sorry) except that > >they do get mixed up. > > This used to happen all the time, but I haven't had it happen in ages. > Check that you have up to date CVS. I have an up to date CVS and the same problem with icons. It happends quite rarely, but it happends =) When it happends on an icon, you have to restart E to "fix" it. The "icon swap" doesnt happend always on the same icons, but it MAY have something to do with ibox, cause i think i remember the pb appears when i iconify an app. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E17 coding funds: Who wants to get paid to fix bugs and finish off todo items for E17?
I would be glad to do that. I love E and to code using EFLs, already wrote some modules (dEvian, photo, eveil, upcoming rss and netsearch) and some patches around ... i have time during the next month ... so tell me what to do =) laurent 'kiwi' Le Fri, 14 Jul 2006 11:56:35 +0900, Carsten Haitzler (The Rasterman) <[EMAIL PROTECTED]> a écrit : > OK - I'm putting out some feelers here to see... > > Of all you guys out there - would you ant to get paid bounties for > finishing off some TODO items for E17? for fixing certain bugs? Do > you have the time lets say over the next coming month to work on this > - in return for a little cash for your time and effort? who is up for > it? I mean SERIOUS offers only - people who do have or can make the > time and do have the skills to do the work? > > We have work that covers: > > Coding (new code) > Debugging (fix known bugs) > Artwork (draw us some icons bay-bee) > Theme work (en-masse cleanups of the default theme - especially > namespace for parts, groups and signal names) > > As extra motivation - we may not just have some funds available - but > also the ability to become the default desktop for a few 10,000 > installs of Linux... so if E can't motivate you, and money doesn't do > the trick - maybe being part of pushing a nice desktop out for Linux > might do it? > > Can we keep this thread down to only those who want to participate - > and not a string of comments as I want to track who is willing to do > what and I have enough mail to track as-is. > - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] e_modules/devian
commited :) Le Wed, 12 Jul 2006 11:56:42 +0200, Lut!n <[EMAIL PROTECTED]> a écrit : > Hi, > here are three (very) small patches fixing > e_modules/devian/data/themes/$theme/Makefile.am for make distcheck, > for blue_eyed, clean and minimal themes > Regards, > Lut!n - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] e17 thumb patch for memory leaks
Heya I now the current E thumbnailing system is going to rewritten. Anyway, for the moment, here is a patch to fix some memory leaks. laurent 'kiwi'--- e_thumb.c 2006-07-07 19:00:06.613161672 +0200 +++ NEWe_thumb.c 2006-07-07 19:01:10.363470152 +0200 @@ -1,6 +1,6 @@ /* -* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 -*/ + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ #include "e.h" @@ -49,22 +49,31 @@ else return 0; event_handlers = - evas_list_append(event_handlers, - ecore_event_handler_add(ECORE_EXE_EVENT_DEL, - _e_thumb_cb_exe_exit, - NULL)); + evas_list_append(event_handlers, + ecore_event_handler_add(ECORE_EXE_EVENT_DEL, + _e_thumb_cb_exe_exit, + NULL)); return 1; } EAPI int e_thumb_shutdown(void) { + Evas_List *l; + E_FREE(thumb_path); while (event_handlers) { ecore_event_handler_del(event_handlers->data); event_handlers = evas_list_remove_list(event_handlers, event_handlers); } + + for (l=thumb_files; l; l=evas_list_next(l)) + { +E_Thumb_Item *t; +t = evas_list_data(l); +free(t); + } evas_list_free(thumb_files); if (pid != -1) @@ -120,10 +129,11 @@ { t = l->data; if(!strcmp(path, t->path)) - { - thumb_files = evas_list_remove_list(thumb_files, l); - break; - } + { + thumb_files = evas_list_remove_list(thumb_files, l); + free(t); + break; + } } } @@ -208,6 +218,7 @@ free(thumb); return 1; } + free(thumb); return 0; } @@ -520,10 +531,10 @@ { chars[256], *sp; const char *chmap = - "0123456789abcdef" - "ghijklmnopqrstuv" - "[EMAIL PROTECTED]&*()" - "[];',.{}<>?-=_+|"; + "0123456789abcdef" + "ghijklmnopqrstuv" + "[EMAIL PROTECTED]&*()" + "[];',.{}<>?-=_+|"; unsigned intid[4], i; struct stat st; @@ -621,7 +632,7 @@ evas_object_del(tmp); if(t->cb) t->cb(t->obj, t->data); - free(t); + free(t); } } Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] e17 menu patch
Hop hop hop A one character patch for e_menu.c =) It fixes the submenu deactivate callback ( set via e_menu_item_submenu_post_callback_set() ) wich was never called. laurent 'kiwi'--- e_menu.c2006-07-07 02:49:29.592102000 +0100 +++ NEWe_menu.c 2006-07-07 02:48:07.275616008 +0100 @@ -1788,7 +1788,7 @@ static void _e_menu_submenu_deactivate(E_Menu_Item *mi) { - if (mi->menu->active) return; + if (!mi->menu->active) return; if (mi->submenu_post_cb.func) mi->submenu_post_cb.func(mi->submenu_post_cb.data, mi->menu, mi); } Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] e17 e_thumb patch
When using e17 thumbnailing functionnalities (e_thumb), i noticed 2 bugs : 1) When thumbnailing is finished (the "to thumbnail" list is empty), and then you launch thumbnailing again for new pictures, it doesnt work 2) When you restart E while thumbnailing, you get a message like ___ ___ |:| Enlightenment Error |:| ~~~ ~~~ Cannot create manager object for screen 0 ___ ___ |:| Enlightenment Error |:| ~~~ ~~~ Here is a little patch to fix at least the first point. For the second one, i just kill (SIGTERM) the subprocess that creates the thumbs, in e_thumb_shutdown. Actually thats not enought (sometimes it doesnt work, maybe because the subprocess does not die instantaneously). I believe this problem can be fixed another way ... but i don't know how =) laurent 'kiwi'--- e_thumb.c 2006-07-05 22:20:21.863373488 +0200 +++ NEWe_thumb.c 2006-07-05 22:16:56.246631984 +0200 @@ -66,6 +66,9 @@ event_handlers = evas_list_remove_list(event_handlers, event_handlers); } evas_list_free(thumb_files); + + if (pid != -1) + kill(pid, SIGTERM); return 1; } @@ -587,7 +590,11 @@ ev = event; if (ev->pid != pid) return 1; - if (!thumb_files) return 1; + if (!thumb_files) + { +pid = -1; +return 1; + } t = thumb_files->data; thumb_files = evas_list_remove_list(thumb_files, thumb_files); Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] e17 "send to desktop" menu patch
o Ooo ! Here is a small patch to display wich desk is current in "send to desktop" menu :) http://.zapto.org/httpup/e17_sendto_new.jpg laurent 'kiwi'--- e_int_border_menu.c 2006-06-30 23:54:46.661936256 +0200 +++ Me_int_border_menu.c 2006-06-30 23:49:45.606703608 +0200 @@ -706,9 +706,11 @@ E_Menu *subm; E_Menu_Item *submi; E_Border *bd; + E_Desk *desk_cur; int i; bd = data; + desk_cur = e_desk_current_get(bd->zone); subm = e_menu_new(); e_object_data_set(E_OBJECT(subm), bd); @@ -721,6 +723,9 @@ desk = bd->zone->desks[i]; submi = e_menu_item_new(subm); e_menu_item_label_set(submi, desk->name); +e_menu_item_radio_set(submi, 1); +e_menu_item_radio_group_set(submi, 2); +e_menu_item_toggle_set(submi, (desk_cur == desk ? 1 : 0)); e_menu_item_callback_set(submi, _e_border_menu_cb_sendto, desk); } } Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] e shelf patch
Enable font class for Module Big and Little, and change the font size :) Le Thu, 15 Jun 2006 14:32:43 +0200, Anders Troback <[EMAIL PROTECTED]> a écrit : > On Thu, 15 Jun 2006 14:48:10 +0200 > Laurent GHIGONIS <[EMAIL PROTECTED]> wrote: > > > hi > > > > here is a little patch for shelf configuration pannel to display > > shelf orientation instead of E icon in the list > > > > http://.zapto.org/httpup/e17_shelves_iconlist_2.jpg > > Hi, > > I just saw you screenshot and was curios about the size of tclock! I > can't get it as large as I want to. How did you did it? > > Thanks for listening! > > \\troback > ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] e shelf patch
hi here is a little patch for shelf configuration pannel to display shelf orientation instead of E icon in the list http://.zapto.org/httpup/e17_shelves_iconlist_2.jpg--- e_int_config_shelf.c 2006-06-15 03:11:25.595614448 +0200 +++ e_int_config_shelf_iconlist.c 2006-06-15 03:11:11.825707792 +0200 @@ -72,6 +72,7 @@ { Evas_List *l; E_Shelf *es; + E_Config_Shelf *escfg; char buf[256]; const char *label; Evas_Object *ob; @@ -83,6 +84,7 @@ for (l = e_shelf_list(); l; l = l->next) { es = l->data; +escfg = es->cfg; label = es->name; if (!label) label = ""; @@ -90,7 +92,49 @@ /* FIXME: proper icon */ ob = edje_object_add(evas_object_evas_get(cfdata->ilist)); - e_util_edje_icon_set(ob, "enlightenment/e"); + +switch(escfg->orient) + { + case E_GADCON_ORIENT_LEFT: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_left"); + break; + case E_GADCON_ORIENT_RIGHT: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_right"); + break; + case E_GADCON_ORIENT_TOP: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_top"); + break; + case E_GADCON_ORIENT_BOTTOM: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_bottom"); + break; + case E_GADCON_ORIENT_CORNER_TL: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_top_left"); + break; + case E_GADCON_ORIENT_CORNER_TR: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_top_right"); + break; + case E_GADCON_ORIENT_CORNER_BL: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_bottom_left"); + break; + case E_GADCON_ORIENT_CORNER_BR: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_bottom_right"); + break; + case E_GADCON_ORIENT_CORNER_LT: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_left_top"); + break; + case E_GADCON_ORIENT_CORNER_RT: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_right_top"); + break; + case E_GADCON_ORIENT_CORNER_LB: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_left_bottom"); + break; + case E_GADCON_ORIENT_CORNER_RB: + e_util_edje_icon_set(ob, "enlightenment/shelf_position_right_bottom"); + break; + default: + e_util_edje_icon_set(ob, "enlightenment/e"); + break; + } e_widget_ilist_append(cfdata->ilist, ob, buf, _cb_list, cfdata, NULL); } @@ -202,7 +246,7 @@ o = e_widget_list_add(evas, 0, 1); of = e_widget_framelist_add(evas, _("Configured Shelves"), 0); - oi = e_widget_ilist_add(evas, 80, 60, NULL); + oi = e_widget_ilist_add(evas, 60, 45, NULL); e_widget_ilist_selector_set(oi, 1); cfdata->ilist = oi; ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
RE: [E-devel] BUG: dEvian:RSS module crashes E
Should be fixed now ... ? Laurent Ghigonis -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Aleksej Struk Envoyé : vendredi 12 mai 2006 16:12 À : Enlightenment-Devel Objet : [E-devel] BUG: dEvian:RSS module crashes E Hi, Unfortunatelly I have to report a bug in dEvian RSS module. It crashes E when the following events happen : 1. RSS gets info about a new news Item. 2. Popup about the new item is shown and then hidden 3. I move my mouse pointer inside the RSS gadget 3. E crashes if one of the following 2 happens : a) Mouse pointer is pointing a new (red) item b) Mouse pointer just enter the RSS gadget box The backtrace looks as follows : #0 0x0020 in ?? () #1 0x08093e49 in e_object_del (obj=0x8b604a0) at e_object.c:48 #2 0xb77bac12 in devian_popup_warn_del (popw=0x8ef8330) at e_mod_popup_warn.c:212 #3 0xb77c3b39 in _cb_infos_set (data=0x8f1b6d0, obj=0x8d70660, emission=0x8750440 "infos_set", source=0x81820b0 "item") at e_mod_data_rss.c:1056 #4 0xb7f3a591 in _edje_emit_handle (ed=0x8b013c0, sig=0x8750440 "infos_set", src=0x81820b0 "item") at edje_program.c:875 #5 0xb7f419eb in _edje_message_process (em=0x8d5d090) at edje_message_queue.c:433 #6 0xb7f41f14 in _edje_message_queue_process () at edje_message_queue.c:605 #7 0xb7f41ff5 in _edje_job (data=0x0) at edje_message_queue.c:99 #8 0xb7ec9862 in _ecore_job_event_handler (data=0x0, type=76, ev=0x8ad94d0) at ecore_job.c:75 #9 0xb7c6f77a in _ecore_event_call () at ecore_events.c:431 #10 0xb7c750ce in _ecore_main_loop_iterate_internal (once_only=0) at ecore_main.c:639 #11 0xb7c752c7 in ecore_main_loop_begin () at ecore_main.c:79 #12 0x08062ea3 in main (argc=1, argv=0xbf968494) at e_main.c:685 -- Aleksej Struk Master Degree Student Free University of Bozen-Bolzano Faculty of Computer Science phone: +39-0471-061749 cell phone: +39-3204627049 +370-61278908 [EMAIL PROTECTED] [EMAIL PROTECTED] - http://astruk.googlepages.com/home --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel