forked from enlightenment/enlightenment
and make the init splash use the right engine!
SVN revision: 31796
This commit is contained in:
parent
a6825b262b
commit
1e507658f3
|
@ -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 */
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
174
src/bin/e_main.c
174
src/bin/e_main.c
|
@ -446,6 +446,94 @@ main(int argc, char **argv)
|
|||
"Ecore and check they support the Software Buffer rendering engine."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
// 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.
|
||||
// _e_main_shutdown_push(ecore_evas_shutdown);
|
||||
TS("test done");
|
||||
|
||||
/*** Finished loading subsystems, Loading WM Specifics ***/
|
||||
|
||||
TS("dirs");
|
||||
/* setup directories we will be using for configurations storage etc. */
|
||||
if (!_e_main_dirs_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot create directories in your home directory.\n"
|
||||
"Perhaps you have no home directory or the disk is full?"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(_e_main_dirs_shutdown);
|
||||
TS("filereg");
|
||||
/* setup file registry */
|
||||
if (!e_filereg_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up its file registry system."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_filereg_shutdown);
|
||||
TS("config");
|
||||
/* init config system */
|
||||
if (!e_config_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up its config system."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_config_shutdown);
|
||||
TS("path");
|
||||
/* setup paths for finding things */
|
||||
if (!_e_main_path_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up paths for finding files.\n"
|
||||
"Perhaps you are out of memory?"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(_e_main_path_shutdown);
|
||||
TS("ipc");
|
||||
/* setup e ipc service */
|
||||
if (e_ipc_init())
|
||||
_e_main_shutdown_push(e_ipc_shutdown);
|
||||
|
||||
/* setup edje to animate @ e_config->framerate frames per sec. */
|
||||
edje_frametime_set(1.0 / e_config->framerate);
|
||||
|
||||
TS("font");
|
||||
/* init font system */
|
||||
if (!e_font_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up its font system."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_font_shutdown);
|
||||
e_font_apply();
|
||||
e_canvas_recache();
|
||||
|
||||
TS("theme");
|
||||
/* init theme system */
|
||||
if (!e_theme_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up its theme system."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_theme_shutdown);
|
||||
|
||||
TS("splash");
|
||||
if (!((!e_config->show_splash) || (after_restart)))
|
||||
{
|
||||
/* setup init status window/screen */
|
||||
if (!e_init_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up init screen.\n"
|
||||
"Perhaps you are out of memory?"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
e_init_title_set(_("Enlightenment"));
|
||||
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;
|
||||
|
@ -490,48 +578,8 @@ main(int argc, char **argv)
|
|||
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.
|
||||
// _e_main_shutdown_push(ecore_evas_shutdown);
|
||||
TS("test done");
|
||||
|
||||
/*** Finished loading subsystems, Loading WM Specifics ***/
|
||||
|
||||
TS("dirs");
|
||||
/* setup directories we will be using for configurations storage etc. */
|
||||
if (!_e_main_dirs_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot create directories in your home directory.\n"
|
||||
"Perhaps you have no home directory or the disk is full?"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(_e_main_dirs_shutdown);
|
||||
TS("filereg");
|
||||
/* setup file registry */
|
||||
if (!e_filereg_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up its file registry system."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_filereg_shutdown);
|
||||
TS("config");
|
||||
/* init config system */
|
||||
if (!e_config_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up its config system."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_config_shutdown);
|
||||
TS("path");
|
||||
/* setup paths for finding things */
|
||||
if (!_e_main_path_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up paths for finding files.\n"
|
||||
"Perhaps you are out of memory?"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(_e_main_path_shutdown);
|
||||
e_init_status_set(_("Starting International Support"));
|
||||
TS("intl post");
|
||||
/* init intl system */
|
||||
if (!e_intl_post_init())
|
||||
|
@ -540,50 +588,6 @@ main(int argc, char **argv)
|
|||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_intl_post_shutdown);
|
||||
TS("ipc");
|
||||
/* setup e ipc service */
|
||||
if (e_ipc_init())
|
||||
_e_main_shutdown_push(e_ipc_shutdown);
|
||||
|
||||
/* setup edje to animate @ e_config->framerate frames per sec. */
|
||||
edje_frametime_set(1.0 / e_config->framerate);
|
||||
|
||||
TS("font");
|
||||
/* init font system */
|
||||
if (!e_font_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up its font system."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_font_shutdown);
|
||||
e_font_apply();
|
||||
e_canvas_recache();
|
||||
|
||||
TS("theme");
|
||||
/* init theme system */
|
||||
if (!e_theme_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up its theme system."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_theme_shutdown);
|
||||
|
||||
TS("splash");
|
||||
if (!((!e_config->show_splash) || (after_restart)))
|
||||
{
|
||||
/* setup init status window/screen */
|
||||
if (!e_init_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up init screen.\n"
|
||||
"Perhaps you are out of memory?"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
e_init_title_set(_("Enlightenment"));
|
||||
e_init_version_set(VERSION);
|
||||
e_init_show();
|
||||
_e_main_shutdown_push(e_init_shutdown);
|
||||
}
|
||||
|
||||
TS("efreet");
|
||||
e_init_status_set(_("Starting Efreet"));
|
||||
/* init FDO desktop */
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue