diff options
author | Carsten Haitzler <raster@rasterman.com> | 2007-09-24 10:53:44 +0000 |
---|---|---|
committer | Carsten Haitzler <raster@rasterman.com> | 2007-09-24 10:53:44 +0000 |
commit | 1e507658f3ca645bb9a3728f9260604e9737771a (patch) | |
tree | e03cc5c7d9159e85ed1bfdfa4df715d29533f0f6 | |
parent | a6825b262b157f647cf1f8872fd074440c5dd620 (diff) | |
download | enlightenment-1e507658f3ca645bb9a3728f9260604e9737771a.tar.gz |
and make the init splash use the right engine!
SVN revision: 31796
-rw-r--r-- | src/bin/e_container.c | 3 | ||||
-rw-r--r-- | src/bin/e_init.c | 19 | ||||
-rw-r--r-- | src/bin/e_init_main.c | 25 | ||||
-rw-r--r-- | src/bin/e_main.c | 108 | ||||
-rw-r--r-- | src/bin/e_startup.c | 1 | ||||
-rw-r--r-- | src/bin/e_sys.c | 11 |
6 files changed, 101 insertions, 66 deletions
diff --git a/src/bin/e_container.c b/src/bin/e_container.c index 610835a4b1..573e284a8f 100644 --- a/src/bin/e_container.c +++ b/src/bin/e_container.c @@ -123,6 +123,7 @@ e_container_new(E_Manager *man) for (i = 0; i < 7; i++) { con->layers[i].win = ecore_x_window_input_new(con->win, 0, 0, 1, 1); + ecore_x_window_lower(con->layers[i].win); if (i > 0) ecore_x_window_configure(con->layers[i].win, @@ -130,8 +131,6 @@ e_container_new(E_Manager *man) ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE, 0, 0, 0, 0, 0, con->layers[i - 1].win, ECORE_X_WINDOW_STACK_ABOVE); - else - ecore_x_window_raise(con->layers[i].win); } /* Put init win on top */ diff --git a/src/bin/e_init.c b/src/bin/e_init.c index 8123e0389e..4528201b68 100644 --- a/src/bin/e_init.c +++ b/src/bin/e_init.c @@ -12,6 +12,7 @@ static Ecore_Event_Handler *exe_del_handler = NULL; static Ecore_Ipc_Client *client = NULL; static int done = 0; static int undone = 0; +static Evas_List *stats = NULL; static int _e_init_cb_exe_event_del(void *data, int type, void *event) @@ -115,8 +116,14 @@ e_init_version_set(const char *str) EAPI void e_init_status_set(const char *str) { + if (!init_exe) return; printf("---STAT %p %s\n", client, str); - if (!client) return; + if (!client) + { + stats = evas_list_append(stats, evas_stringshare_add(str)); + return; + } + printf("---SEND\n"); ecore_ipc_client_send(client, E_IPC_DOMAIN_INIT, 1, 0, 0, 0, str, strlen(str) + 1); ecore_ipc_client_flush(client); } @@ -171,6 +178,16 @@ e_init_client_data(Ecore_Ipc_Event_Client_Data *e) } } } + while (stats) + { + const char *s; + + s = stats->data; + stats = evas_list_remove_list(stats, stats); + printf("---SPOOL %s\n", s); + e_init_status_set(s); + evas_stringshare_del(s); + } } else if (e->minor == 2) { diff --git a/src/bin/e_init_main.c b/src/bin/e_init_main.c index 2b083b3905..9ad35ecc4d 100644 --- a/src/bin/e_init_main.c +++ b/src/bin/e_init_main.c @@ -48,6 +48,13 @@ static Ecore_X_Window *initwins = NULL; static int initwins_num = 0; static Ecore_Ipc_Server *server = NULL; +static int +delayed_ok(void *data) +{ + kill(getppid(), SIGUSR2); + return 0; +} + int main(int argc, char **argv) { @@ -81,6 +88,7 @@ main(int argc, char **argv) evas_init(); ecore_evas_init(); edje_init(); + edje_frametime_set(1.0 / 60.0); ecore_file_init(); ecore_ipc_init(); @@ -91,6 +99,7 @@ main(int argc, char **argv) e_init_title_set(title); e_init_version_set(verstr); e_init_status_set(""); + ecore_timer_add(0.2, delayed_ok, NULL); ecore_main_loop_begin(); } @@ -430,20 +439,13 @@ _e_init_evas_new(Ecore_X_Window root, int w, int h, Ecore_X_Window *winret) Evas *e; Evas_List *l; - if (engine == 0) + if ((engine == 0) || (engine == 1)) { ee = ecore_evas_software_x11_new(NULL, root, 0, 0, w, h); ecore_evas_override_set(ee, 1); ecore_evas_software_x11_direct_resize_set(ee, 1); *winret = ecore_evas_software_x11_window_get(ee); } - else if (engine == 1) - { - ee = ecore_evas_xrender_x11_new(NULL, root, 0, 0, w, h); - ecore_evas_override_set(ee, 1); - ecore_evas_xrender_x11_direct_resize_set(ee, 1); - *winret = ecore_evas_xrender_x11_window_get(ee); - } else if (engine == 2) { ee = ecore_evas_gl_x11_new(NULL, root, 0, 0, w, h); @@ -451,6 +453,13 @@ _e_init_evas_new(Ecore_X_Window root, int w, int h, Ecore_X_Window *winret) ecore_evas_gl_x11_direct_resize_set(ee, 1); *winret = ecore_evas_gl_x11_window_get(ee); } + else if (engine == 3) + { + ee = ecore_evas_xrender_x11_new(NULL, root, 0, 0, w, h); + ecore_evas_override_set(ee, 1); + ecore_evas_xrender_x11_direct_resize_set(ee, 1); + *winret = ecore_evas_xrender_x11_window_get(ee); + } e = ecore_evas_get(ee); diff --git a/src/bin/e_main.c b/src/bin/e_main.c index 553e8784cd..f0a5c4c683 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -446,50 +446,6 @@ main(int argc, char **argv) "Ecore and check they support the Software Buffer rendering engine.")); _e_main_shutdown(-1); } - TS("test file format support"); - { - Ecore_Evas *ee; - Evas_Object *im; - char buf[4096]; - - ee = ecore_evas_buffer_new(1, 1); - if (!ee) - { - e_error_message_show(_("Enlightenment found Evas can't create a buffer canvas. Please check\n" - "Evas has Software Buffer engine support.\n")); - _e_main_shutdown(-1); - } - im = evas_object_image_add(ecore_evas_get(ee)); - - snprintf(buf, sizeof(buf), "%s/data/images/test.png", e_prefix_data_get()); - evas_object_image_file_set(im, buf, NULL); - if (evas_object_image_load_error_get(im) != EVAS_LOAD_ERROR_NONE) - { - e_error_message_show(_("Enlightenment found Evas can't load PNG files. Check Evas has PNG\n" - "loader support.\n")); - _e_main_shutdown(-1); - } - - snprintf(buf, sizeof(buf), "%s/data/images/test.jpg", e_prefix_data_get()); - evas_object_image_file_set(im, buf, NULL); - if (evas_object_image_load_error_get(im) != EVAS_LOAD_ERROR_NONE) - { - e_error_message_show(_("Enlightenment found Evas can't load JPEG files. Check Evas has JPEG\n" - "loader support.\n")); - _e_main_shutdown(-1); - } - - snprintf(buf, sizeof(buf), "%s/data/images/test.edj", e_prefix_data_get()); - evas_object_image_file_set(im, buf, "images/0"); - if (evas_object_image_load_error_get(im) != EVAS_LOAD_ERROR_NONE) - { - e_error_message_show(_("Enlightenment found Evas can't load EET files. Check Evas has EET\n" - "loader support.\n")); - _e_main_shutdown(-1); - } - evas_object_del(im); - ecore_evas_free(ee); - } // ecore_evas closes evas - deletes objs - deletes fm widgets which tries to // ipc to slave to stop monitoring - but ipc has been shut down. dont shut // down. @@ -532,14 +488,6 @@ main(int argc, char **argv) _e_main_shutdown(-1); } _e_main_shutdown_push(_e_main_path_shutdown); - TS("intl post"); - /* init intl system */ - if (!e_intl_post_init()) - { - e_error_message_show(_("Enlightenment cannot set up its intl system.")); - _e_main_shutdown(-1); - } - _e_main_shutdown_push(e_intl_post_shutdown); TS("ipc"); /* setup e ipc service */ if (e_ipc_init()) @@ -582,8 +530,64 @@ main(int argc, char **argv) e_init_version_set(VERSION); e_init_show(); _e_main_shutdown_push(e_init_shutdown); + pause(); } + e_init_status_set(_("Testing Format Support")); + TS("test file format support"); + { + Ecore_Evas *ee; + Evas_Object *im; + char buf[4096]; + + ee = ecore_evas_buffer_new(1, 1); + if (!ee) + { + e_error_message_show(_("Enlightenment found Evas can't create a buffer canvas. Please check\n" + "Evas has Software Buffer engine support.\n")); + _e_main_shutdown(-1); + } + im = evas_object_image_add(ecore_evas_get(ee)); + + snprintf(buf, sizeof(buf), "%s/data/images/test.png", e_prefix_data_get()); + evas_object_image_file_set(im, buf, NULL); + if (evas_object_image_load_error_get(im) != EVAS_LOAD_ERROR_NONE) + { + e_error_message_show(_("Enlightenment found Evas can't load PNG files. Check Evas has PNG\n" + "loader support.\n")); + _e_main_shutdown(-1); + } + + snprintf(buf, sizeof(buf), "%s/data/images/test.jpg", e_prefix_data_get()); + evas_object_image_file_set(im, buf, NULL); + if (evas_object_image_load_error_get(im) != EVAS_LOAD_ERROR_NONE) + { + e_error_message_show(_("Enlightenment found Evas can't load JPEG files. Check Evas has JPEG\n" + "loader support.\n")); + _e_main_shutdown(-1); + } + + snprintf(buf, sizeof(buf), "%s/data/images/test.edj", e_prefix_data_get()); + evas_object_image_file_set(im, buf, "images/0"); + if (evas_object_image_load_error_get(im) != EVAS_LOAD_ERROR_NONE) + { + e_error_message_show(_("Enlightenment found Evas can't load EET files. Check Evas has EET\n" + "loader support.\n")); + _e_main_shutdown(-1); + } + evas_object_del(im); + ecore_evas_free(ee); + } + + e_init_status_set(_("Starting International Support")); + TS("intl post"); + /* init intl system */ + if (!e_intl_post_init()) + { + e_error_message_show(_("Enlightenment cannot set up its intl system.")); + _e_main_shutdown(-1); + } + _e_main_shutdown_push(e_intl_post_shutdown); TS("efreet"); e_init_status_set(_("Starting Efreet")); /* init FDO desktop */ diff --git a/src/bin/e_startup.c b/src/bin/e_startup.c index 61005e8124..d6639bdfab 100644 --- a/src/bin/e_startup.c +++ b/src/bin/e_startup.c @@ -29,6 +29,7 @@ e_startup(E_Startup_Mode mode) else if (mode == E_STARTUP_RESTART) snprintf(buf, sizeof(buf), "%s/.e/e/applications/restart/.order", homedir); startup_apps = e_order_new(buf); + printf("startup_apps = %p\n", startup_apps); if (!startup_apps) return; start_app_pos = 0; e_init_undone(); diff --git a/src/bin/e_sys.c b/src/bin/e_sys.c index 87ee117c88..a2de52cb48 100644 --- a/src/bin/e_sys.c +++ b/src/bin/e_sys.c @@ -41,8 +41,8 @@ e_sys_init(void) /* this is not optimal - but it does work cleanly */ _e_sys_exe_exit_handler = ecore_event_handler_add(ECORE_EXE_EVENT_DEL, _e_sys_cb_exit, NULL); - /* delay this for 2.0 seconds while the rest of e starts up */ - ecore_timer_add(2.0, _e_sys_cb_timer, NULL); + /* delay this for 1.0 seconds while the rest of e starts up */ + ecore_timer_add(1.0, _e_sys_cb_timer, NULL); return 1; } @@ -124,7 +124,8 @@ _e_sys_cb_timer(void *data) * things */ char buf[4096]; - + + e_init_status_set(_("Checking System Permissions")); snprintf(buf, sizeof(buf), "%s/enlightenment_sys -t halt", e_prefix_bin_get()); _e_sys_halt_check_exe = ecore_exe_run(buf, NULL); snprintf(buf, sizeof(buf), "%s/enlightenment_sys -t reboot", e_prefix_bin_get()); @@ -161,6 +162,7 @@ _e_sys_cb_exit(void *data, int type, void *event) } if ((_e_sys_halt_check_exe) && (ev->exe == _e_sys_halt_check_exe)) { + e_init_status_set(_("System Check Done")); /* exit_code: 0 == OK, 5 == suid root removed, 7 == group id error * 10 == permission denied, 20 == action undefined */ if (ev->exit_code == 0) @@ -171,6 +173,7 @@ _e_sys_cb_exit(void *data, int type, void *event) } else if ((_e_sys_reboot_check_exe) && (ev->exe == _e_sys_reboot_check_exe)) { + e_init_status_set(_("System Check Done")); if (ev->exit_code == 0) { _e_sys_can_reboot = 1; @@ -179,6 +182,7 @@ _e_sys_cb_exit(void *data, int type, void *event) } else if ((_e_sys_suspend_check_exe) && (ev->exe == _e_sys_suspend_check_exe)) { + e_init_status_set(_("System Check Done")); if (ev->exit_code == 0) { _e_sys_can_suspend = 1; @@ -187,6 +191,7 @@ _e_sys_cb_exit(void *data, int type, void *event) } else if ((_e_sys_hibernate_check_exe) && (ev->exe == _e_sys_hibernate_check_exe)) { + e_init_status_set(_("System Check Done")); if (ev->exit_code == 0) { _e_sys_can_hibernate = 1; |