summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2007-09-24 10:53:44 +0000
committerCarsten Haitzler <raster@rasterman.com>2007-09-24 10:53:44 +0000
commit1e507658f3ca645bb9a3728f9260604e9737771a (patch)
treee03cc5c7d9159e85ed1bfdfa4df715d29533f0f6
parenta6825b262b157f647cf1f8872fd074440c5dd620 (diff)
downloadenlightenment-1e507658f3ca645bb9a3728f9260604e9737771a.tar.gz
and make the init splash use the right engine!
SVN revision: 31796
-rw-r--r--src/bin/e_container.c3
-rw-r--r--src/bin/e_init.c19
-rw-r--r--src/bin/e_init_main.c25
-rw-r--r--src/bin/e_main.c108
-rw-r--r--src/bin/e_startup.c1
-rw-r--r--src/bin/e_sys.c11
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;