[E-devel] trivial patch for about dialog
hi, although all the code for the about enlightenment dialog has moved to a different file, the text in that dialog is still untranslatable (i.e. it will always displayed in english no matter if there is a translated text). the problem seems to reside in the unicode copyright glyph; looks like gettext doesn't like it, so removing it fixes the issue. the attached patch make the text translatable while keeping the copyright symbol. -- Massimo Maiurana mailto:[EMAIL PROTECTED] http://massimo.solira.org GPG keyID #7044D601 Articolo 11 - L'Italia ripudia la guerra come strumento di offesa alla libertà degli altri popoli e come mezzo di risoluzione delle controversie internazionali Index: apps/e/src/bin/e_about.c === RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_about.c,v retrieving revision 1.9 diff -u -u -r1.9 e_about.c --- apps/e/src/bin/e_about.c 22 Sep 2005 05:52:37 - 1.9 +++ apps/e/src/bin/e_about.c 24 Sep 2005 07:47:15 - @@ -52,7 +52,7 @@ edje_object_part_text_set (about-bg_object, about, _( - Copyright © 1999-2005, by the Enlightenment Development Team.br + Copyright copy; 1999-2005, by the Enlightenment Development Team.br br We hope you enjoy using this software as much as we enjoyed writing it.br signature.asc Description: OpenPGP digital signature
Re: [E-devel] Slow eap startup
On Fri, 23 Sep 2005 21:07:25 -0400 Robert May [EMAIL PROTECTED] babbled: I am not noticing the slowdown but I don't have the usual system. 941 eap's less than 1 second Dual Xeon 3Ghz 4GB DDR SCSI SuSE 9.3 all updates i dont even notice either with 200 eaps and plain old ide disk. though on my slower laptop (1ghz pentium m, and the disk is not that fast - only pulls about 15mb/sec) i do notice a thrash on login. this could be it. i will find out as soon as i get to the cache code - which i was kept form today by other issues. grr :( -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)[EMAIL PROTECTED] 裸好多 [EMAIL PROTECTED] Tokyo, Japan (東京 日本) --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] trivial patch for about dialog
On Sat, 24 Sep 2005 10:21:50 +0200 Massimo Maiurana [EMAIL PROTECTED] babbled: hi, although all the code for the about enlightenment dialog has moved to a different file, the text in that dialog is still untranslatable (i.e. it will always displayed in english no matter if there is a translated text). the problem seems to reside in the unicode copyright glyph; looks like gettext doesn't like it, so removing it fixes the issue. the attached patch make the text translatable while keeping the copyright symbol. aah yes. that has been a problem. i have been wondering why it never matches - it shoudl handle utf8 src - anyway - yes, thanks to tb2 copy; can be used instead :) -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)[EMAIL PROTECTED] 裸好多 [EMAIL PROTECTED] Tokyo, Japan (東京 日本) --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] eap menu question
On Fri, 23 Sep 2005 16:46:52 -0400 Robert May [EMAIL PROTECTED] babbled: Good Afternoon E developers! Would it be possible to add menu generation information to the eap's themselves? A rough example would be: kbattleship.eap Menu Favorite Applications (vice Gadgets or Modules) Submenu Games;BoardGames Thus creating the appropriate entries in e17 Much like KDE's entry for kbattleship.desktop e18genmenu doesnt put these in the .eap's but it uses them to generate a menu tree with them in it. :) Categories=Game;BoardGame; ___ Then the .directory.eap's would be set up to display the icons for the Menu/Sub-menus (i.e. Games or Board Games). .order files would then be used only if you wanted the menus in something other than alphabetical order. ___ I know everyone will tell me to write a patch however, my abilities with C make even Hello World! out of my reach. I was just thinking of an easier way for menu generation/customization especially when the eap lists are greater than a hundred or so. Anyway thank you for hard work on this Window Manager. I look forward to recompiling each day to see what new features have been made available for me to use/experiment with. Respectfully, Robert --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)[EMAIL PROTECTED] 裸好多 [EMAIL PROTECTED] Tokyo, Japan (東京 日本) --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] e17 segfault caused by ecore, and fix
something to do with icons not being there.. anyway, it's a one-liner fix. fake diff: ecore_x_netwm.c:654 - if(icon) + if(icon *icon) memcpy(*icon, (data[2]), len * sizeof(unsigned int)); also, seems like 'src' is set on the line before, and subsequently not used. --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] e17 segfault caused by ecore, and fix
David Sharp wrote: something to do with icons not being there.. anyway, it's a one-liner fix. fake diff: ecore_x_netwm.c:654 - if(icon) + if(icon *icon) memcpy(*icon, (data[2]), len * sizeof(unsigned int)); This shouldn't be possible. If (icon) is true, then we do malloc, and if the malloc fails we return. Sebastian --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Border lag after the signal binding change
I updated the blue_eyed theme with the new singal binding changes, and noticed that when the window is deiconified (btw, why is the binding called minimize, and not iconify?), the window is redrawn, and one second afterwards, the border is redrawn. I thought I messed up the theme, but this also happens with the default theme, so it's not my fault :). --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Border lag after the signal binding change
On Sat, 24 Sep 2005 14:38:09 +0300 Виктор Кожухаров [EMAIL PROTECTED] babbled: I updated the blue_eyed theme with the new singal binding changes, and noticed that when the window is deiconified (btw, why is the binding called minimize, and not iconify?), the window is redrawn, and one second afterwards, the border is redrawn. I thought I messed up the theme, but this also happens with the default theme, so it's not my fault :). i dont see any issues here? -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)[EMAIL PROTECTED] 裸好多 [EMAIL PROTECTED] Tokyo, Japan (東京 日本) --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Monitor module problem
The Monitor module is acting weird on my system. I have a dual head monitor running two displays. Display0 constantly shows cpu usage at 0%, RAM usage displays perfectly, and Eth0 only shows transmit numbers. On Display1 CPU usage is accurate (compared to gkrellm), RAM usage is displayed perfectly, Eth0 only shows receive numbers. This issues only show up when I am using dual displays. I cvs update and recompile everything everyday that I use my system. Thank you for all of your hard work! Respectfully, Robert --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] segfault dragging in the pager
if I try to drag a window outside of the pager module it's all ok, but if I try to do the same in the (ex)desktopname popup E segfaults. attached is a gdb backtrace. -- Massimo Maiurana mailto:[EMAIL PROTECTED] http://massimo.solira.org GPG keyID #7044D601 Articolo 11 - L'Italia ripudia la guerra come strumento di offesa alla libertà degli altri popoli e come mezzo di risoluzione delle controversie internazionali Program received signal SIGSEGV, Segmentation fault. 0xb778a390 in _pager_window_cb_drag_finished (drag=0x85f6700, dropped=0) at e_mod_main.c:2080 2080e_mod_main.c: No such file or directory. in e_mod_main.c (gdb) bt #0 0xb778a390 in _pager_window_cb_drag_finished (drag=0x85f6700, dropped=0) at e_mod_main.c:2080 #1 0x080a4600 in e_drag_end (x=148, y=275) at e_dnd.c:406 #2 0x080a4b53 in _e_dnd_cb_mouse_up (data=0x0, type=10, event=0x8606188) at e_dnd.c:598 #3 0xb7c7e6dd in _ecore_event_call () at ecore_events.c:431 #4 0xb7c8364b in _ecore_main_loop_iterate_internal (once_only=0) at ecore_main.c:629 #5 0xb7c8279f in ecore_main_loop_begin () at ecore_main.c:79 #6 0x0805ac3c in main (argc=1, argv=0xbfcfa984) at e_main.c:569 (gdb) signature.asc Description: OpenPGP digital signature
Re: [E-devel] A patch
I don't think dan was trying to make a personal attack. My understanding was that he was pointing out a lot of time was being spent responding to design criticisms and not making progress on code.On 9/23/05, Jose O Gonzalez [EMAIL PROTECTED] wrote:Here's a large patch to finish a tiny leftover from the events-frozen deal..I've inlined the patch here as it's likely not worth attaching.Maybe now Dan will hate me a microscopic amount less for all mycomplaining :)Jose.* ***Index: e17/libs/evas/src/lib/canvas/evas_object_main.c===RCS file:/cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_main.c,v retrieving revision 1.35diff -u -r1.35 evas_object_main.c--- e17/libs/evas/src/lib/canvas/evas_object_main.c 22 Sep 2005 02:52:53- 1.35+++ e17/libs/evas/src/lib/canvas/evas_object_main.c 23 Sep 2005 10:54:39 -@@ -470,7 +470,7 @@if (obj-layer-evas-events_frozen = 0){pass = evas_event_passes_through(obj);- if (pass)+ if (!pass)was = evas_object_is_in_output_rect(obj, obj-layer-evas-pointer.x,obj-layer-evas-pointer.y, 1, 1);---SF.Net email is sponsored by:Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very ownSony(tm)PSP.Click here to play: http://sourceforge.net/geronimo.php___ enlightenment-devel mailing listenlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Re: [e-users] Problems since last CVS upgrade
Carsten Haitzler (The Rasterman) wrote: I can't use the mouse on the window list or anything anymore. Can't minimize, maximize, close or open options dialog or anything. I ned help :[ use the default theme for starters, as for the mouse - works here :) I updated from CVS today, and all themes except the default have broken. None of the titlebar buttons work. Has something changed recently that I missed? Have the name of the signals changed? If so I'll be happy to patch up all the themes I have. -- Thomas C R Spurden (0xBB944725) --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] e17 segfault caused by ecore, and fix
On 9/24/05, Sebastian Dransfeld [EMAIL PROTECTED] wrote: David Sharp wrote: something to do with icons not being there.. anyway, it's a one-liner fix. fake diff: ecore_x_netwm.c:654 - if(icon) + if(icon *icon) memcpy(*icon, (data[2]), len * sizeof(unsigned int)); This shouldn't be possible. If (icon) is true, then we do malloc, and if the malloc fails we return. yes you are right. saw the size check you added. in fact, this is exactly the problem. It seems the app (this can probably be blamed on wxWidgets, b/c the app uses that) is not setting the icon property correctly, only setting width, but not height, so ARGB data starts at data[1]. the sanity check you added is not quite sufficient though, since in this case, len 0 (data[1] is 0xff alpha, and therefore negative). either cast len to unsigned, or check for len 0 as well. Though, you could also then try guessing the height like this: if( ((num_ret-1) % width)==0) // num_ret-1 b/c we are guessing width is missing. height = (num_ret)-1/width; assuming you have vars for width and height.. you would also have to start copying from data+1, not data+2. David Sebastian --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] E17 I18N Input Methods
Hello, A few weeks ago I started working on some code that allows E17 to setup Input Methods. This is usually setup in the Xsession script which setup up all of your default env variables and starts and support programs needed for input. The goal is to have support of input methods managed by enlightenment. Design: Currently e17 internally has a list input methods is a static list of Language_Pack Structures. This list can at the moment not be updated. I intend for, some time in the future, the Language_Pack to be used for more than just the Input Method but also setting up fonts and what not. When setting up Input Method we will configure the following env vars. GTK_IM_MODULE QT_IM_MODULE XMODIFIERS GTk_IM_MODULE_FILE - This may not be needed, I think its best this config is done by the system and not E. But raster suggested it. Look at the patch for more info. Usage: [EMAIL PROTECTED] bin]$ enlightenment_remote -input-method-list REPLY - BEGIN REPLY: scim REPLY: uim REPLY - END [EMAIL PROTECTED] bin]$ enlightenment_remote -input-method-get REPLY - BEGIN REPLY: scim REPLY - END ... Anyway, If it looks ok for now I can commit it. I haven't had time to work on it for a while and it has been working fine for me in setting up scim whenever I use e. -- -- Do what you can to prolong your life, in the hope that someday you'll learn what it's for. -- Stafford Horne Location: Beijing China Contact: [EMAIL PROTECTED] Info: http://shorne.homelinux.com ? e_intl_im.patch ? e_intl_im-001.diff Index: e_config.c === RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.c,v retrieving revision 1.102 diff -u -r1.102 e_config.c --- e_config.c 22 Sep 2005 20:20:33 - 1.102 +++ e_config.c 25 Sep 2005 01:18:52 - @@ -340,6 +340,7 @@ E_CONFIG_VAL(D, T, transient.desktop, INT); /**/ E_CONFIG_VAL(D, T, transient.iconify, INT); /**/ E_CONFIG_VAL(D, T, modal_windows, INT); /**/ + E_CONFIG_VAL(D, T, input_method, STR); /**/ e_config = e_config_domain_load(e, _e_config_edd); if (e_config) @@ -457,6 +458,7 @@ e_config-transient.desktop = 1; e_config-transient.iconify = 1; e_config-modal_windows = 1; + e_config-input_method = NULL; { E_Config_Module *em; @@ -1402,6 +1404,9 @@ if ((e_config-language) (strlen(e_config-language) 0)) e_intl_language_set(e_config-language); + if ((e_config-input_method) (strlen(e_config-input_method) 0)) + e_intl_input_method_set(e_config-input_method); + return 1; } Index: e_config.h === RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.h,v retrieving revision 1.52 diff -u -r1.52 e_config.h --- e_config.h 22 Sep 2005 20:20:33 - 1.52 +++ e_config.h 25 Sep 2005 01:18:52 - @@ -150,6 +150,7 @@ int cursor_size; int menu_autoscroll_margin; int menu_autoscroll_cursor_margin; + char *input_method; struct { intmove; intresize; Index: e_intl.c === RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_intl.c,v retrieving revision 1.40 diff -u -r1.40 e_intl.c --- e_intl.c 14 Sep 2005 20:19:44 - 1.40 +++ e_intl.c 25 Sep 2005 01:18:52 - @@ -6,8 +6,6 @@ /* TODO List: * - * * load/save language in config so u can change language runtime via a gui and/or ipc - * * add ipc to get/set/list languages, get language name, simplified language string, etc. (so a config tool can be written to display supported languages and be able to select from them) * * add more language names to the language name list list in e_intl_language_name_get() * * as we get translations add languages to the simplified lang list (C and en are currently the same, ja is a test translation - incomplete) */ @@ -19,12 +17,21 @@ static char *_e_intl_language = NULL; static Evas_List *_e_intl_languages = NULL; +static char *_e_intl_orig_gtk_im_module_file = NULL; +static char *_e_intl_orig_xmodifiers = NULL; +static char *_e_intl_orig_qt_im_module = NULL; +static char *_e_intl_orig_gtk_im_module = NULL; +static char *_e_intl_input_method = NULL; +static Evas_List *_e_intl_input_methods = NULL; + #define ADD_LANG(lang) _e_intl_languages = evas_list_append(_e_intl_languages, lang) +#define ADD_IM(method) _e_intl_input_methods = evas_list_append(_e_intl_input_methods, method) int e_intl_init(void) { char *s; + E_Language_Pack *elp; if (_e_intl_languages) return 1; @@ -72,9 +79,38 @@ if ((s = getenv(LANGUAGE))) _e_intl_orig_language = strdup(s); if ((s = getenv(LC_ALL))) _e_intl_orig_lc_all = strdup(s); if ((s = getenv(LANG))) _e_intl_orig_lang = strdup(s); + + if ((s = getenv(GTK_IM_MODULE))) _e_intl_orig_gtk_im_module = strdup(s); + if ((s = getenv(QT_IM_MODULE)))
Re: [E-devel] Re: [e-users] Problems since last CVS upgrade
Thomas wrote: Carsten Haitzler (The Rasterman) wrote: I can't use the mouse on the window list or anything anymore. Can't minimize, maximize, close or open options dialog or anything. I ned help :[ use the default theme for starters, as for the mouse - works here :) I updated from CVS today, and all themes except the default have broken. None of the titlebar buttons work. Has something changed recently that I missed? Have the name of the signals changed? If so I'll be happy to patch up all the themes I have. Yes, window actions are no longer dependendent upon signals, but use part names instead. This way we can have configurable bindings for mouse events. So, either parts need to be renamed, or new parts need to be added with the proper names. (I went with the second route for winter, but the first is probably easier.) A current quick list of signals and part names is at: http://rephorm.com/files/border_sigs The second line of each block is the part name, so you just need to make sure that parts with these names exist. Then, you can delete any of the old programs that signalled e to perform actions. -- rephorm --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] First project submittal -- a calendar module
Yeah my bad , relying on autofoo to do the right thing isnt a good idea . Dale. On 24/09/2005, at 2:47 AM, Michael Jennings wrote: On Thursday, 22 September 2005, at 13:38:33 (+1200), Dale Anderson wrote: /me spanks Nathan [EMAIL PROTECTED]:~/source/e17/apps/e_modules$ grep -R '/opt/DEVEL/e17/apps/' src/modules/calendar/* src/modules/calendar/images/Makefile:ACLOCAL = ${SHELL} /opt/DEVEL/e17/apps/e_modules/missing --run aclocal-1.7 src/modules/calendar/images/Makefile:AMTAR = ${SHELL} /opt/DEVEL/e17/apps/e_modules/missing --run tar src/modules/calendar/images/Makefile:AUTOCONF = ${SHELL} /opt/DEVEL/e17/apps/e_modules/missing --run autoconf src/modules/calendar/images/Makefile:AUTOHEADER = ${SHELL} /opt/DEVEL/e17/apps/e_modules/missing --run autoheader src/modules/calendar/images/Makefile:AUTOMAKE = ${SHELL} /opt/DEVEL/e17/apps/e_modules/missing --run automake-1.7 src/modules/calendar/images/Makefile:MAKEINFO = ${SHELL} /opt/DEVEL/e17/apps/e_modules/missing --run makeinfo src/modules/calendar/images/Makefile:install_sh = /opt/DEVEL/e17/apps/e_modules/install-sh [EMAIL PROTECTED]:~/source/e17/apps/e_modules$ /me spanks Dale. The Makefile gets overwritten by ./configure. Now watch where you spank! Michael -- Michael Jennings (a.k.a. KainX) http://www.kainx.org/ [EMAIL PROTECTED] n + 1, Inc., http://www.nplus1.net/ Author, Eterm (www.eterm.org) --- Did you really have to die for me? All I am for all You are because What I need and what I believe are worlds apart. -- Jars of Clay, Worlds Apart --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] e17 segfault caused by ecore, and fix
David Sharp wrote: On 9/24/05, Sebastian Dransfeld [EMAIL PROTECTED] wrote: David Sharp wrote: something to do with icons not being there.. anyway, it's a one-liner fix. fake diff: ecore_x_netwm.c:654 - if(icon) + if(icon *icon) memcpy(*icon, (data[2]), len * sizeof(unsigned int)); This shouldn't be possible. If (icon) is true, then we do malloc, and if the malloc fails we return. yes you are right. saw the size check you added. in fact, this is exactly the problem. It seems the app (this can probably be blamed on wxWidgets, b/c the app uses that) is not setting the icon property correctly, only setting width, but not height, so ARGB data starts at data[1]. the sanity check you added is not quite sufficient though, since in this case, len 0 (data[1] is 0xff alpha, and therefore negative). either cast len to unsigned, or check for len 0 as well. Though, you could also then try guessing the height like this: if( ((num_ret-1) % width)==0) // num_ret-1 b/c we are guessing width is missing. height = (num_ret)-1/width; assuming you have vars for width and height.. you would also have to start copying from data+1, not data+2. Now we check: 1. Do we have two elements. 2. Multiply element 1 and 2, since they are unsigned, we get a number 0. Check if the number is greater than the amount of data we get. This may return a weird result, but it shouldn't be possible to segv. Sebastian --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] e17 segfault caused by ecore, and fix
On Sat, 24 Sep 2005 18:08:40 -0700 David Sharp [EMAIL PROTECTED] babbled: On 9/24/05, Sebastian Dransfeld [EMAIL PROTECTED] wrote: David Sharp wrote: something to do with icons not being there.. anyway, it's a one-liner fix. fake diff: ecore_x_netwm.c:654 - if(icon) + if(icon *icon) memcpy(*icon, (data[2]), len * sizeof(unsigned int)); This shouldn't be possible. If (icon) is true, then we do malloc, and if the malloc fails we return. yes you are right. saw the size check you added. in fact, this is exactly the problem. It seems the app (this can probably be blamed on wxWidgets, b/c the app uses that) is not setting the icon property correctly, only setting width, but not height, so ARGB data starts at data[1]. the sanity check you added is not quite sufficient though, since in this case, len 0 (data[1] is 0xff alpha, and therefore negative). either cast len to unsigned, or check for len 0 as well. Though, you could also then try guessing the height like this: if( ((num_ret-1) % width)==0) // num_ret-1 b/c we are guessing width is missing. height = (num_ret)-1/width; assuming you have vars for width and height.. you would also have to start copying from data+1, not data+2. i'll opt for the fuck you xwwidgets option :) (nothing personal!) basically if an application/widget set cannot set the property correctly - we shoudl be free to happily entirely ignore it as corrupt/invalid :) -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)[EMAIL PROTECTED] 裸好多 [EMAIL PROTECTED] Tokyo, Japan (東京 日本) --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Slow startup with lots of eap's.
On Sat, 24 Sep 2005 03:10:12 +1000 David Seikel [EMAIL PROTECTED] babbled: On Sat, 24 Sep 2005 00:33:07 +0900 Carsten Haitzler (The Rasterman) [EMAIL PROTECTED] wrote: On Fri, 23 Sep 2005 22:26:44 +1000 David Seikel [EMAIL PROTECTED] babbled: takes seventeen seconds to boot on a test box that is one tenth the power of my Athlon. 17 seconds! you can do better than that! i challeng you to get it to below 10! i am actually quite sure it can be done. i've had a machine boot lilo -X running glxgears in 1.6 seconds. (yes linux) there are well - come hacks invovled, but you could manage 10 to a graphical login i would say. :) The 17 seconds is for an average Pentium 300, I'm sure my Athlon 3000+ can do a lot better. I'm waiting for Xorg to release their modular X, which should happen next month according to their web site. Then I can apply my 'start the bare minimum to support the user logging in and doing something useful, then start the rest in the background' tricks to X. At the moment, the bulk of getting logged in graphically is spent in X before it starts the display manager. actually - here's a hint. x actually loads EVERY module when it starts to find out whats there - that means every driver, every extension file etc. it may only end up using a few but it literally does a heap of disk work on them anyway (for interest - start x and put it under strace - log it and check the output and see all the disk io it does for modules etc.). one great way to get x to start fast - remove anything you dont use or need :) (or fix x to not go read everything!) :) another is to hack the driver to to avoid useless re-setting of chips (eg in laptops often you can get another 0.5 seconds by not resetting the gfx controller - the backlight stays on and you get an almost seamless transition to gfx mode. this of course could have other implications... like on buggy chipsets or ones with unknown states it may not work properly) but but! congrats on CARING and WORKIng at it. it seems this is not somehting major distros care much about and i agree is a pain. slow boots. bloat. everything. agreed 100%. I thought you would appreciate it. I'll keep you informed. i am so glad you brought this up. this now enters one of my favorite domains: OPTIMISING! i love optimising things :) and well - i didnt realise a large collection of eaps would kill you. for info - how many do you have? just give me a quick count of /bin/ls ~/.e/e/applications/*.eap | wc -l I also love optimising things, I have done a lot of work with micro controller powered appliances. 1641 eap files. To put that into perspective, SuSE 9.3 Professional ships with 4061 packages for x86, although some of those are libraries, fonts, and other things that don't end up in the menu. hmm - i still think you have some gross disk IO issues. i may have only a fraction - but e starts in like 1 second for me (200 not 1600, but i dont get like a 20 / 8 (2.something) second extra lag. what fs are u using? ext2? ext3? xfs? reiser? what disk? whats its IO capacity? (hpardm -t /dev/device) ? of the eap colelciton a nightmare. the solution i'm thinking now is a cache - a cache file listing all metadata for all .eap's in a dir that can be updated by E itself or an external cmd-line tool. e will load the cache first (ine one big seamless load from start to end) and then in slow-burn timers scan the cache to match up real files. if real fiels have changed since the cache was made, or if files have vanished they will be remvoed from the cache and the cache re-written. files not in the cache will be added. this should improve things by light years. :) Sounds good to me, and I'll be glad to be the guinea pig for that, or at least send you my eap collection. Just be careful to get the cache if i need to i can fake up a massive collection :) but i'd prefer a small one for working and ebugging/dev purposes for now :) btw - partt way through. my 200 eap's use about 6mb of disk. the cache file for that dir is a touch under 7kb. thats all e has to load on startup - so it should be massively faster for you in the future. i'm still workign on it and its not enabled in production code yet. :) checking working well and robust, I have seen some shocking implementations of similar ideas. I spend a lot of my time these days trust me. if there;'s something i've done a LOT it's caches! :) one reason e is fast IS its caching. evas caches, edje caches... they have in memory caches to avoid re-opening files and decoding them from disk. this avoids an io pass and a decode - but even so theres still a kernel disk cache behind that too :) caches are good. caches RULE! :) coding in Java, and it's a pet peeve of mine that I have yet to see a properly working Java cache implementation that doesn't require me to just delete it on a regular basis. By regular, I mean every time I recompile my Java app,
[e-devel] patch for viewing eaps' generic and comment fields on menu
Hello! I'm attaching a patch to display eap's generic and comment fields on menu, configurable via IPC. You can enable displaying of name/generic/comment field. With all activated it will look like name (generic) [comment] (default). As this was created before the Configuration Panel exists (was first created so that the shipped emblem and entangle eap will have the name placed and generic placed where they should be), it also adds the config-apps in the paths to search for eap's, so just add emblem.eap or entangle.eap to any .order file and they will show up in the menu (attached modified eaps)! Hope this helps! Cheers! -- ilLogict Website: http://illogict.online.fr E-Mail: [EMAIL PROTECTED] AIM/NIM: illogict Yahoo: illogict MSN: [EMAIL PROTECTED] ICQ: #74274856 Infos: E17 rocks! Le nettoyage de ligne, quelle chose efficace ! (1900-4700 @60dB) emblem.eap Description: Binary data entangle.eap Description: Binary data Index: e_apps.c === RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_apps.c,v retrieving revision 1.67 diff -u -r1.67 e_apps.c --- e_apps.c 15 Sep 2005 06:25:28 - 1.67 +++ e_apps.c 24 Sep 2005 20:23:02 - @@ -57,6 +57,7 @@ static E_App *_e_apps_all = NULL; static char*_e_apps_path_all = NULL; static char*_e_apps_path_trash = NULL; +static char *_e_apps_path_config_apps = NULL; static Evas_List *_e_apps_start_pending = NULL; /* externally accessible functions */ @@ -66,6 +67,9 @@ char *home; char buf[PATH_MAX]; + snprintf(buf, sizeof(buf), %s/config-apps, e_prefix_data_get()); + _e_apps_path_config_apps = strdup(buf); + _e_apps_repositories = evas_list_append(_e_apps_repositories, strdup(buf)); home = e_user_homedir_get(); snprintf(buf, sizeof(buf), %s/.e/e/applications/trash, home); _e_apps_path_trash = strdup(buf); Index: e_config.c === RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.c,v retrieving revision 1.102 diff -u -r1.102 e_config.c --- e_config.c 22 Sep 2005 20:20:33 - 1.102 +++ e_config.c 24 Sep 2005 20:23:03 - @@ -340,6 +340,9 @@ E_CONFIG_VAL(D, T, transient.desktop, INT); /**/ E_CONFIG_VAL(D, T, transient.iconify, INT); /**/ E_CONFIG_VAL(D, T, modal_windows, INT); /**/ + E_CONFIG_VAL(D, T, menu_eap_name_show, INT); /**/ + E_CONFIG_VAL(D, T, menu_eap_generic_show, INT); /**/ + E_CONFIG_VAL(D, T, menu_eap_comment_show, INT); /**/ e_config = e_config_domain_load(e, _e_config_edd); if (e_config) @@ -457,6 +460,9 @@ e_config-transient.desktop = 1; e_config-transient.iconify = 1; e_config-modal_windows = 1; + e_config-menu_eap_name_show = 1; + e_config-menu_eap_generic_show = 1; + e_config-menu_eap_comment_show = 1; { E_Config_Module *em; @@ -1396,6 +1402,9 @@ E_CONFIG_LIMIT(e_config-cursor_size, 0, 1024); E_CONFIG_LIMIT(e_config-menu_autoscroll_margin, 0, 50); E_CONFIG_LIMIT(e_config-menu_autoscroll_cursor_margin, 0, 50); + E_CONFIG_LIMIT(e_config-menu_eap_name_show, 0, 1); + E_CONFIG_LIMIT(e_config-menu_eap_generic_show, 0, 1); + E_CONFIG_LIMIT(e_config-menu_eap_comment_show, 0, 1); /* apply lang config - exception because config is loaded after intl setup */ Index: e_config.h === RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.h,v retrieving revision 1.52 diff -u -r1.52 e_config.h --- e_config.h 22 Sep 2005 20:20:33 - 1.52 +++ e_config.h 24 Sep 2005 20:23:03 - @@ -50,7 +50,7 @@ * defaults for e to work - started at 100 when we introduced this config * versioning feature */ -#define E_CONFIG_FILE_VERSION 125 +#define E_CONFIG_FILE_VERSION 126 #define E_EVAS_ENGINE_DEFAULT 0 #define E_EVAS_ENGINE_SOFTWARE_X11 1 @@ -160,6 +160,9 @@ inticonify; } transient; int modal_windows; + int menu_eap_name_show; + int menu_eap_generic_show; + int menu_eap_comment_show; }; struct _E_Config_Module Index: e_int_menus.c === RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_menus.c,v retrieving revision 1.96 diff -u -r1.96 e_int_menus.c --- e_int_menus.c 22 Sep 2005 08:05:15 - 1.96 +++ e_int_menus.c 24 Sep 2005 20:23:04 - @@ -27,7 +27,7 @@ static void _e_int_menus_main_run(void *data, E_Menu *m, E_Menu_Item*mi); static void _e_int_menus_main_restart(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_int_menus_main_exit (void *data, E_Menu *m, E_Menu_Item *mi); -static void _e_int_menus_apps_scan (E_Menu *m); +static void _e_int_menus_apps_scan (E_Menu *m, int eap_fields); static void _e_int_menus_apps_start (void *data,
Re: [E-devel] Slow startup with lots of eap's.
On Sun, 25 Sep 2005 11:24:43 +0900 Carsten Haitzler (The Rasterman) [EMAIL PROTECTED] wrote: On Sat, 24 Sep 2005 03:10:12 +1000 David Seikel [EMAIL PROTECTED] babbled: the background' tricks to X. At the moment, the bulk of getting logged in graphically is spent in X before it starts the display manager. actually - here's a hint. x actually loads EVERY module when it starts to find out whats there - that means every driver, every extension file etc. it may only end up using a few but it literally does a heap of disk work on them anyway (for interest - start x and put it under strace - log it and check the output and see all the disk io it does for modules etc.). This is why I am waiting for the Xorg modular tree to come out (soon, soon, Real Soon Now they say). Once I have that I can start to classify the modules into optional, needed, and needed later categories. It's a lot more work doing that to the current monolithic X. Once classified, I will then know what to start now, what to start in parallel after starting entranced, what to leave out completely, and what to hack for speed. hmm - i still think you have some gross disk IO issues. i may have only a fraction - but e starts in like 1 second for me (200 not 1600, but i dont get like a 20 / 8 (2.something) second extra lag. what fs are u using? ext2? ext3? xfs? reiser? what disk? whats its IO capacity? (hpardm -t /dev/device) ? ext3. As part of my what can boot faster work I did some timing tests. Others where faster at writing, but booting is more read bound, and ext3 won the boot race. Xfs was a close second, and I would recommend it for multimedia work, since it gave more consistent times, and it was designed for multimedia work. Reiser and JFS where both much slower, but again there was not much difference between the two. I have not tried Reiser 4 yet. I also only tried journalling file systems, so ext2 was not part of the tests. cluster:/home/dvs1 # hdparm -t /dev/hda /dev/hda: Timing buffered disk reads: 148 MB in 3.01 seconds = 49.19 MB/sec Are you reading in all of the eap at start up? For some strange reason most of the e17genmenu generated eaps are around 92KB. On the other hand, I put off a new HD purchase to buy my wireless modem, so space is tight. Thousands of eaps may have got scattered all over the disk. E17 startup with thousands of eaps may be seek bound on my computer. btw - partt way through. my 200 eap's use about 6mb of disk. the cache file for that dir is a touch under 7kb. thats all e has to load on startup - so it should be massively faster for you in the future. i'm still workign on it and its not enabled in production code yet. :) Let me know when I can try it out. Oh well, back to struggling to get a cvs update of e17 out of sourceforge. Man that can be painful some times. Yesterday I did a cvs update out of sourceforge for ONE OF MY OWN PROJECTS, using my account and everything. Took five hours for something that should have taken minutes. Hmm, got e17, but can't get the misc module yet. i havent seen anything that bad yet. are you pn dialup? :) Nope, I'm on something called iBurst, which is a new technology that may be called something else if it exists at all in your country. It's propietry wireless broadband that is more like mobile phones than current WiFi. I don't have to worry about finding a hot spot, as it works anywhere in the city. Australia is a small continent with most of the population hugging the coast, and very large expanses of nothing in the middle. Things like mobile phones and iBurst are not likely to work 50 kms away from the coast. iBurst is new, so it doesn't yet have the same coverage as mobiles, but they are working on it. On the plus side, an iBurst tower has greater range than a GSM tower, so they will need less of them. Getting decent telecommunications outside the main cities is a big political bun fight at the moment. My Internet access is the equivilent of ADSL, but without the telephone line, or any other wires. It even works while on the move, but since I have a desktop, I would still need to plug into a power socket. Laptop users can use it while driving on the freeways, and I could probably use it on the City Cat ferries, catamerans that are part of the public transport system in this city. If only they would let me use their power. B-( At any rate, the really slow cvs was not due to limited bandwidth at my end, as it spent most of that five hours just siting there doing nothing. The e17 network monitor said 0B for most of that time, unless I was doing other net stuff. SourceForge sometimes has major performance problems, and when they do they often give priority to account holders over anonymous cvs, and they may even give priority to paid subscribers, I wouldn't know, I'm not a paid subscriber. I don't have cvs access to enlightenment from my SourceForge account, so when updating e17 I get the
Re: [E-devel] Slow startup with lots of eap's.
On Sun, 25 Sep 2005 14:29:47 +1000 David Seikel [EMAIL PROTECTED] babbled: On Sun, 25 Sep 2005 11:24:43 +0900 Carsten Haitzler (The Rasterman) [EMAIL PROTECTED] wrote: On Sat, 24 Sep 2005 03:10:12 +1000 David Seikel [EMAIL PROTECTED] babbled: the background' tricks to X. At the moment, the bulk of getting logged in graphically is spent in X before it starts the display manager. actually - here's a hint. x actually loads EVERY module when it starts to find out whats there - that means every driver, every extension file etc. it may only end up using a few but it literally does a heap of disk work on them anyway (for interest - start x and put it under strace - log it and check the output and see all the disk io it does for modules etc.). This is why I am waiting for the Xorg modular tree to come out (soon, soon, Real Soon Now they say). Once I have that I can start to classify the modules into optional, needed, and needed later categories. It's a lot more work doing that to the current monolithic X. Once classified, I will then know what to start now, what to start in parallel after starting entranced, what to leave out completely, and what to hack for speed. hmm - i still think you have some gross disk IO issues. i may have only a fraction - but e starts in like 1 second for me (200 not 1600, but i dont get like a 20 / 8 (2.something) second extra lag. what fs are u using? ext2? ext3? xfs? reiser? what disk? whats its IO capacity? (hpardm -t /dev/device) ? ext3. As part of my what can boot faster work I did some timing tests. Others where faster at writing, but booting is more read bound, and ext3 won the boot race. Xfs was a close second, and I would recommend it for multimedia work, since it gave more consistent times, and it was designed for multimedia work. Reiser and JFS where both much slower, but again there was not much difference between the two. I have not tried Reiser 4 yet. I also only tried journalling file systems, so ext2 was not part of the tests. cluster:/home/dvs1 # hdparm -t /dev/hda /dev/hda: Timing buffered disk reads: 148 MB in 3.01 seconds = 49.19 MB/sec ok- thats fast enough. weird that it takes 20 seconds to load those files. weird. anyway - cache is now done. i have dne some levels of testing and it seems to work and update etc. feel free to try it out. it's in cvs now. Are you reading in all of the eap at start up? For some strange reason no- only the header whihc will be a few hundred bytes at most, and then selected pieces of data from the file (it seeks to them and loads what it needS) in reality the data loaded is only like 1kb of actual data, but with buffered file opes it may end up loading in a good 4 or 8k or more of the file - times each file and lots of seeks. most of the e17genmenu generated eaps are around 92KB. On the other hand, I put off a new HD purchase to buy my wireless modem, so space is tight. Thousands of eaps may have got scattered all over the disk. E17 startup with thousands of eaps may be seek bound on my computer. thats what i'm thinking. i have gobs of free space and i dont even notice it. :) my disk only pulls about 40mb/sec here on my desktop. btw - partt way through. my 200 eap's use about 6mb of disk. the cache file for that dir is a touch under 7kb. thats all e has to load on startup - so it should be massively faster for you in the future. i'm still workign on it and its not enabled in production code yet. :) Let me know when I can try it out. now - well wait 6-12hrs till it hits anon cvs :) Oh well, back to struggling to get a cvs update of e17 out of sourceforge. Man that can be painful some times. Yesterday I did a cvs update out of sourceforge for ONE OF MY OWN PROJECTS, using my account and everything. Took five hours for something that should have taken minutes. Hmm, got e17, but can't get the misc module yet. i havent seen anything that bad yet. are you pn dialup? :) Nope, I'm on something called iBurst, which is a new technology that may ooh! that one - yeah - the sydney wireless boardband - they bought up a bunch of 3g licenses unused for cheap and built a data network for internet access around it :) i know of it :) be called something else if it exists at all in your country. It's propietry wireless broadband that is more like mobile phones than current WiFi. I don't have to worry about finding a hot spot, as it works anywhere in the city. Australia is a small continent with most of the population hugging the coast, and very large expanses of nothing in the middle. Things like mobile phones and iBurst are not likely to work 50 kms away from the coast. iBurst is new, so it doesn't yet have the same coverage as mobiles, but they are working on it. On the plus side, an iBurst tower has greater range than a GSM tower, so they will need less of them. Getting decent