From b9fa023caa2e566ca9d26f90dd8a1475b8002462 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 29 Jun 2005 07:29:10 +0000 Subject: [PATCH] some more TODO SVN revision: 15561 --- TODO | 14 ++++---------- src/bin/e_apps.c | 22 +++++++++++++++++++++- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/TODO b/TODO index 374c3278c..b7fa277ad 100644 --- a/TODO +++ b/TODO @@ -8,8 +8,6 @@ Some of the things (in very short form) that need to be done to E17... BUGS / FIXES ------------------------------------------------------------------------------- -* BUG: sometimes unshade fails. Must be the wrong order of some events. (under - what conditions? i don't see it) * BUG: when fullscreen should put up big black window above all windows EXCEPT the fullscreen one (no need to hide other windows). in general fullscreen needs work, cleaning and testing @@ -83,13 +81,13 @@ Some of the things (in very short form) that need to be done to E17... * window icons should be able to be chosen if e eapp icon overrides netwm icon or the other way around. * eapps need to provide title matching too as well as name and class +* add locale and encoding fields to eapp files (to launch eapp in that + locale+encoding) +* add input method selector stuff to eapp - same as locale * transients should have option to always follow parent (move/resize/raise/lower) * actions to make current zone different (warp mouse to there) * actions to make the current container different -* add locale and encoding fields to eapp files (to launch eapp in that - locale+encoding) -* add input method selector stuff to eapp - same as locale * titlebar/border expansion/gadget panel for modules to put window widgets in * add actions to flip desktops on a given zone and/or container only * break out desks x/y size config so you can have a different desktop size @@ -99,10 +97,6 @@ Some of the things (in very short form) that need to be done to E17... means .mo compiled files from a .po, an optional font and a config file that specifies the locale and font) and then install the font(s) either as a user or superuser, and the .mo in the system or a user locales dir. -* check window max size. if < size of zone (or maximisation area) disallow - maximising and tell border edje object (via signals) to somehow disable the - maximise buttons :) (and remove from the menu) or center client in frame or - something else to not exceed max size for window * gadman gadget menu needs icons :) * gadman edit mode for simple gadgets activate with a button bind (eg alt+click on module like windows) or a pure key binding @@ -123,7 +117,7 @@ Some of the things (in very short form) that need to be done to E17... * ibar need to support label pop-ups * ibar should support subdirs with pop-up icons... * ibar needs lamp follower to be optional in ibar config (for the user) -* borders need to be able to change border theme on the fly by mene or app +* borders need to be able to change border theme on the fly by menu or app properties * add window glueing * add setup/install wizard to seed eapp files etc. etc. diff --git a/src/bin/e_apps.c b/src/bin/e_apps.c index 2ee81d438..1e3295b4e 100644 --- a/src/bin/e_apps.c +++ b/src/bin/e_apps.c @@ -260,8 +260,19 @@ e_app_exec(E_App *a) /* FIXME: set up locale, encoding and input method env vars if they are in * the eapp file */ exe = ecore_exe_run(a->exe, a); - if (!exe) return 0; + if (!exe) + { + e_error_dialog_show(_("Run Error"), + _("Enlightenment was unable fork a child process\n" + "to run the execute line:\n" + "\n" + "%s\n" + "\n"), + a->exe); + return 0; + } a->instances = evas_list_append(a->instances, exe); + e_object_ref(E_OBJECT(a)); if (a->startup_notify) a->starting = 1; _e_app_change(a, E_APP_EXEC); return 1; @@ -994,8 +1005,17 @@ _e_apps_cb_exit(void *data, int type, void *event) a = ecore_exe_data_get(ev->exe); if (a) { + if (ev->exit_code == 127) /* /bin/sh uses this if cmd not found */ + e_error_dialog_show(_("Run Error"), + _("Enlightenment was unable run the program:\n" + "\n" + "%s\n" + "\n" + "The command was not found\n"), + a->exe); a->instances = evas_list_remove(a->instances, ev->exe); _e_app_change(a, E_APP_EXIT); + e_object_unref(E_OBJECT(a)); } } return 1;