Enlightenment CVS committal Author : xcomputerman Project : e17 Module : apps/entrance
Dir : e17/apps/entrance/src/client Modified Files: entrance_auth.c entrance_config.c entrance_login.c entrance_session.c entrance_x_session.c main.c util.c Log Message: Indent. =================================================================== RCS file: /cvs/e/e17/apps/entrance/src/client/entrance_auth.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- entrance_auth.c 9 Aug 2005 08:11:32 -0000 1.26 +++ entrance_auth.c 26 Oct 2006 08:05:55 -0000 1.27 @@ -255,7 +255,7 @@ { char *encrypted; char *correct; - + correct = e->pw->pw_passwd; /* Only successfully auth blank password *if* a blank password is given */ @@ -274,7 +274,7 @@ char *encrypted; char *correct; struct spwd *sp; - + sp = getspnam(e->pw->pw_name); endspent(); @@ -285,7 +285,7 @@ syslog(LOG_CRIT, "FATAL: Unable to fetch shadow password."); return AUTH_FAIL; } - + /* Don't authenticate blank password unless blank password is given */ if ((!correct || !correct[0]) && !strcmp(e->pass, "")) return AUTH_SUCCESS; @@ -321,7 +321,8 @@ return (entrance_auth_cmp_crypt(e)); break; default: - syslog(LOG_CRIT, "FATAL: Invalid authentication mode %d requested", mode); + syslog(LOG_CRIT, "FATAL: Invalid authentication mode %d requested", + mode); break; } return AUTH_FAIL; =================================================================== RCS file: /cvs/e/e17/apps/entrance/src/client/entrance_config.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- entrance_config.c 25 Oct 2006 10:24:29 -0000 1.40 +++ entrance_config.c 26 Oct 2006 08:05:55 -0000 1.41 @@ -13,7 +13,7 @@ struct _Entrance_Config_And_Path { Entrance_Config *e; - const char *path; + const char *path; }; @@ -47,7 +47,8 @@ { ecore_config_string_default("/entrance/theme", "default.edj"); ecore_config_string_default("/entrance/background", ""); - ecore_config_string_default("/entrance/pointer", PACKAGE_DATA_DIR "/images/pointer.png"); + ecore_config_string_default("/entrance/pointer", + PACKAGE_DATA_DIR "/images/pointer.png"); ecore_config_string_default("/entrance/greeting/before", "Welcome to"); ecore_config_string_default("/entrance/greeting/after", ""); ecore_config_string_default("/entrance/date_format", "%x"); @@ -84,7 +85,7 @@ * @param e Valid Entrance_Config struct */ static void -entrance_config_populate(Entrance_Config *e) +entrance_config_populate(Entrance_Config * e) { Entrance_User *eu = NULL; char *user = NULL; @@ -98,7 +99,8 @@ char buf[PATH_MAX]; struct _Entrance_Config_And_Path ep; - if (!e) return; + if (!e) + return; /* strings 'n things */ e->theme = ecore_config_string_get("/entrance/theme"); @@ -110,7 +112,8 @@ e->time.string = ecore_config_string_get("/entrance/time_format"); e->autologin.mode = ecore_config_int_get("/entrance/autologin/mode"); - e->autologin.username = ecore_config_string_get("/entrance/autologin/user"); + e->autologin.username = + ecore_config_string_get("/entrance/autologin/user"); e->presel.mode = ecore_config_int_get("/entrance/presel/mode"); e->presel.prevuser = ecore_config_string_get("/entrance/presel/prevuser"); @@ -134,8 +137,8 @@ icon = ecore_config_string_get(buf); snprintf(buf, PATH_MAX, "/entrance/user/%d/session", i); session = ecore_config_string_get(buf); - - printf("%s %s %s\n", user, icon, session); + + printf("%s %s %s\n", user, icon, session); if ((eu = entrance_user_new(user, icon, session))) { @@ -157,10 +160,12 @@ ep.e = e; ep.path = ENTRANCE_SESSIONS_DIR; Ecore_List *xsessions = ecore_file_ls(ENTRANCE_SESSIONS_DIR); - if(xsessions) - ecore_list_for_each(xsessions, _cb_xsessions_foreach, &ep); + + if (xsessions) + ecore_list_for_each(xsessions, _cb_xsessions_foreach, &ep); /* Search all the relevant FDO paths second. */ - ecore_desktop_paths_for_each(ECORE_DESKTOP_PATHS_XSESSIONS, _cb_desktop_xsessions_foreach, &ep); + ecore_desktop_paths_for_each(ECORE_DESKTOP_PATHS_XSESSIONS, + _cb_desktop_xsessions_foreach, &ep); num_session = ecore_config_int_get("/entrance/session/count"); for (i = 0; i < num_session; i++) @@ -175,11 +180,10 @@ if ((exs = entrance_x_session_new(title, icon, session))) { e->sessions.keys = evas_list_append(e->sessions.keys, title); - e->sessions.hash = - evas_hash_add(e->sessions.hash, exs->name, exs); + e->sessions.hash = evas_hash_add(e->sessions.hash, exs->name, exs); } } - + #if 0 if (!e_db_int_get(db, "/entrance/xinerama/screens/w", &(e->screens.w))) @@ -307,7 +311,7 @@ } void -entrance_config_store(Entrance_Config *e) +entrance_config_store(Entrance_Config * e) { int i = 0; char buf[PATH_MAX]; @@ -377,7 +381,7 @@ } int -entrance_config_save(Entrance_Config *e, const char *file) +entrance_config_save(Entrance_Config * e, const char *file) { if (file) { @@ -429,7 +433,8 @@ Entrance_User *eu = NULL; char buf[PATH_MAX]; - if (!e->users.remember) return; + if (!e->users.remember) + return; for (i = 0, l = e->users.keys; l && i < e->users.remember_n; l = l->next, i++) @@ -470,26 +475,28 @@ ecore_config_file_save(file); } -static void +static void _cb_xsessions_foreach(void *list_data, void *data) { - const char* filename = list_data; + const char *filename = list_data; struct _Entrance_Config_And_Path *ep = data; Entrance_Config *e; Ecore_List *commands; - if(!filename) + if (!filename) return; e = ep->e; - if(!e) + if (!e) return; char path[PATH_MAX]; + snprintf(path, PATH_MAX, "%s/%s", ep->path, filename); Ecore_Desktop *ed = ecore_desktop_get(path, NULL); - if(!ed) + + if (!ed) return; Entrance_X_Session *exs = NULL; @@ -508,35 +515,36 @@ ecore_list_destroy(commands); } if ((exs = entrance_x_session_new(ed->name, ed->icon, command))) - { - /* Sessions found earlier in the FDO search sequence override those found later. */ - if (evas_hash_find(e->sessions.hash, exs->name) == NULL) - { - e->sessions.keys = evas_list_append(e->sessions.keys, ed->name); - e->sessions.hash = evas_hash_add(e->sessions.hash, exs->name, exs); - } - else - { - entrance_x_session_free(exs); - } - } + { + /* Sessions found earlier in the FDO search sequence override those + found later. */ + if (evas_hash_find(e->sessions.hash, exs->name) == NULL) + { + e->sessions.keys = evas_list_append(e->sessions.keys, ed->name); + e->sessions.hash = evas_hash_add(e->sessions.hash, exs->name, exs); + } + else + { + entrance_x_session_free(exs); + } + } - ecore_desktop_destroy(ed); + ecore_desktop_destroy(ed); } -static void +static void _cb_desktop_xsessions_foreach(void *list_data, void *data) { - const char* path = list_data; + const char *path = list_data; struct _Entrance_Config_And_Path *ep = data; Ecore_List *xsessions; - if(!path) + if (!path) return; ep->path = path; xsessions = ecore_file_ls(path); - if(xsessions) + if (xsessions) ecore_list_for_each(xsessions, _cb_xsessions_foreach, ep); } =================================================================== RCS file: /cvs/e/e17/apps/entrance/src/client/entrance_login.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- entrance_login.c 28 Sep 2006 03:17:46 -0000 1.6 +++ entrance_login.c 26 Oct 2006 08:05:55 -0000 1.7 @@ -32,7 +32,7 @@ #endif static void -child(int sig, siginfo_t *si, void *foo) +child(int sig, siginfo_t * si, void *foo) { syslog(LOG_INFO, "Child exit signal."); } =================================================================== RCS file: /cvs/e/e17/apps/entrance/src/client/entrance_session.c,v retrieving revision 1.90 retrieving revision 1.91 diff -u -3 -r1.90 -r1.91 --- entrance_session.c 25 Oct 2006 07:15:32 -0000 1.90 +++ entrance_session.c 26 Oct 2006 08:05:55 -0000 1.91 @@ -25,7 +25,9 @@ extern void user_unselected_cb(void *data, Evas_Object * o, const char *emission, const char *source); static void _entrance_session_user_list_fix(Entrance_Session * e); -static void _entrance_session_execute_in_shell(char *user, char *shell, char *session_cmd, char *session_name); +static void _entrance_session_execute_in_shell(char *user, char *shell, + char *session_cmd, + char *session_name); /** * entrance_session_new: allocate a new Entrance_Session @@ -53,7 +55,7 @@ { if (!getenv("DISPLAY")) { - syslog(LOG_CRIT, "entrance_session_new: Unexpected error occured." ); + syslog(LOG_CRIT, "entrance_session_new: Unexpected error occured."); exit(EXITCODE); } e->display = strdup(getenv("DISPLAY")); @@ -144,7 +146,7 @@ { free(e->db); e->db = NULL; - } + } if (e->ee) { ecore_evas_hide(e->ee); @@ -177,13 +179,18 @@ { case ENTRANCE_AUTOLOGIN_NONE: ecore_evas_show(e->ee); - if (e->config->presel.mode==ENTRANCE_PRESEL_PREV && strlen(e->config->presel.prevuser)) { - Evas_Object *oo = evas_object_name_find(evas_object_evas_get(e->edje), "entrance.entry.user"); - if (oo) { + if (e->config->presel.mode == ENTRANCE_PRESEL_PREV + && strlen(e->config->presel.prevuser)) + { + Evas_Object *oo = + evas_object_name_find(evas_object_evas_get(e->edje), + "entrance.entry.user"); + if (oo) + { esmart_text_entry_text_set(oo, e->config->presel.prevuser); entrance_session_user_set(e, e->config->presel.prevuser); - } - } + } + } break; case ENTRANCE_AUTOLOGIN_DEFAULT: if ((eu = @@ -277,8 +284,7 @@ if ((eu = evas_hash_find(e->config->users.hash, user)) == NULL) eu = entrance_user_new(strdup(user), NULL, e->session); - if (!(e->session_selected) && (eu->session) - && (eu->session[0] != 0)) + if (!(e->session_selected) && (eu->session) && (eu->session[0] != 0)) { if ((exs = evas_hash_find(e->config->sessions.hash, eu->session))) { @@ -383,7 +389,7 @@ char *user = NULL; char *session_cmd = NULL; char *session_name = NULL; - char *monitor_cmd = PACKAGE_LIB_DIR"/"PACKAGE"/entrance_login"; + char *monitor_cmd = PACKAGE_LIB_DIR "/" PACKAGE "/entrance_login"; struct passwd *pwent = NULL; Entrance_X_Session *exs = NULL; @@ -417,7 +423,8 @@ printf("\n"); fflush(stdout); session_cmd = strdup("xterm"); - if (session_name) free(session_name); + if (session_name) + free(session_name); session_name = NULL; } @@ -443,7 +450,8 @@ /* Tell PAM that session has begun */ if (pam_open_session(e->auth->pam.handle, 0) != PAM_SUCCESS) { - syslog(LOG_NOTICE, "Cannot open pam session for user \"%s\".", e->auth->user); + syslog(LOG_NOTICE, "Cannot open pam session for user \"%s\".", + e->auth->user); if (!e->config->autologin.mode) { syslog(LOG_CRIT, "Unable to open PAM session. Aborting."); @@ -470,7 +478,7 @@ ecore_config_shutdown(); ecore_x_sync(); entrance_ipc_shutdown(); - + switch ((pid = fork())) { case 0: @@ -483,24 +491,27 @@ syslog(LOG_CRIT, "Unable to set user id."); shell = strdup(pwent->pw_shell); - /* replace this process with a clean small one that just waits for its */ + /* replace this process with a clean small one that just waits for + its */ /* child to exit.. passed on the cmd-line */ - _entrance_session_execute_in_shell(user, shell, session_cmd, session_name); + _entrance_session_execute_in_shell(user, shell, session_cmd, + session_name); break; case -1: syslog(LOG_INFO, "FORK FAILED, UH OH"); exit(0); default: - syslog(LOG_NOTICE, "Replacing Entrance with simple login program to wait for session end."); + syslog(LOG_NOTICE, + "Replacing Entrance with simple login program to wait for session end."); /* this bypasses a race condition where entrance loses its x connection before the wm gets it and x goes and resets itself */ sleep(30); - + /* FIXME These should be called! */ ecore_x_shutdown(); ecore_shutdown(); - + break; } /* no need to free - we are goign to exec ourselves and be replaced @@ -513,19 +524,21 @@ /* child to exit.. passed on the cmd-line */ /* this causes entreance to reset - bad bad bad */ - snprintf(pids, sizeof(pids), "%i", (int)pid); + snprintf(pids, sizeof(pids), "%i", (int) pid); #ifdef HAVE_PAM if (e->config->auth == ENTRANCE_USE_PAM) - { - syslog(LOG_NOTICE, "Exec entrance login replacement: %s %s %s %s", monitor_cmd, pids, pwent->pw_name, e->display); - execl(monitor_cmd, monitor_cmd, pids, pwent->pw_name, e->display, NULL); - } + { + syslog(LOG_NOTICE, "Exec entrance login replacement: %s %s %s %s", + monitor_cmd, pids, pwent->pw_name, e->display); + execl(monitor_cmd, monitor_cmd, pids, pwent->pw_name, e->display, NULL); + } else #endif - { - syslog(LOG_NOTICE, "Exec entrance login replacement: %s %s", monitor_cmd, pids); - execl(monitor_cmd, monitor_cmd, pids, NULL); - } + { + syslog(LOG_NOTICE, "Exec entrance login replacement: %s %s", + monitor_cmd, pids); + execl(monitor_cmd, monitor_cmd, pids, NULL); + } pause(); } @@ -651,9 +664,9 @@ key = (const char *) l->data; if ((exs = evas_hash_find(e->config->sessions.hash, key))) { - edje = entrance_x_session_button_new(exs, e->edje); - if(edje) - esmart_container_element_append(container, edje); + edje = entrance_x_session_button_new(exs, e->edje); + if (edje) + esmart_container_element_append(container, edje); } } @@ -809,7 +822,8 @@ if ((eu = evas_hash_find(e->config->users.hash, e->auth->user))) { e->config->users.keys = - evas_list_prepend(evas_list_remove(e->config->users.keys, eu->name), + evas_list_prepend(evas_list_remove + (e->config->users.keys, eu->name), eu->name); entrance_config_user_list_save(e->config, e->db); return; @@ -829,7 +843,8 @@ } static void -_entrance_session_execute_in_shell(char *user, char *shell, char *session_cmd, char *session_name) +_entrance_session_execute_in_shell(char *user, char *shell, char *session_cmd, + char *session_name) { int res = 0; char *shell_cmd; @@ -846,19 +861,21 @@ else snprintf(buf, sizeof(buf), "%s", session_cmd); - res = execlp(shell_cmd, shell_cmd, "-l", "-c", "--", buf, NULL); + res = execlp(shell_cmd, shell_cmd, "-l", "-c", "--", buf, NULL); - /* Getting here means the previous didn't work - * If /bin/sh isn't a login shell run /bin/sh without loading the profile - * Also log a warning because this will probably not behave correctly */ - if (res == -1) - /*TODO: should actually hit the user in the face with this message*/ - syslog(LOG_NOTICE, "Neither '%s' or '/bin/sh' are working login shells for user '%s'. Your session may not function properly. ",shell,user); - res = execlp(shell_cmd, shell_cmd, "-c", buf, NULL); - - /* Damn, that didn't work either. - * Bye! We call it quits and log an error - * TODO: Also hit the user in the face with this! (ouch!)*/ - syslog(LOG_CRIT, "Entrance could not find a working shell to start the session for user: \"%s\".",user); + /* Getting here means the previous didn't work * If /bin/sh isn't a login + shell run /bin/sh without loading the profile * Also log a warning + because this will probably not behave correctly */ + if (res == -1) + /* TODO: should actually hit the user in the face with this message */ + syslog(LOG_NOTICE, + "Neither '%s' or '/bin/sh' are working login shells for user '%s'. Your session may not function properly. ", + shell, user); + res = execlp(shell_cmd, shell_cmd, "-c", buf, NULL); + + /* Damn, that didn't work either. * Bye! We call it quits and log an error + * TODO: Also hit the user in the face with this! (ouch!)*/ + syslog(LOG_CRIT, + "Entrance could not find a working shell to start the session for user: \"%s\".", + user); } - =================================================================== RCS file: /cvs/e/e17/apps/entrance/src/client/entrance_x_session.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- entrance_x_session.c 28 Aug 2006 04:12:44 -0000 1.12 +++ entrance_x_session.c 26 Oct 2006 08:05:55 -0000 1.13 @@ -83,43 +83,46 @@ } Evas_Object * -entrance_x_session_button_new(Entrance_X_Session *exs, Evas_Object *edje) +entrance_x_session_button_new(Entrance_X_Session * exs, Evas_Object * edje) { - Evas_Coord w, h; + Evas_Coord w, h; + + Evas *evas = evas_object_evas_get(edje); + + if (!evas) + return NULL; - Evas *evas = evas_object_evas_get(edje); - if(!evas) - return NULL; + const char *themefile = NULL; - const char *themefile = NULL; - edje_object_file_get(edje, &themefile, NULL); - if(!themefile) - return NULL; + edje_object_file_get(edje, &themefile, NULL); + if (!themefile) + return NULL; - Evas_Object *b = edje_object_add(evas); - if(!b) - return NULL; + Evas_Object *b = edje_object_add(evas); - edje_object_file_set(b, themefile, "Session"); - evas_object_move(b, 0, 0); + if (!b) + return NULL; - edje_object_size_min_get(b, &w, &h); - evas_object_resize(b, w, h); + edje_object_file_set(b, themefile, "Session"); + evas_object_move(b, 0, 0); + edje_object_size_min_get(b, &w, &h); + evas_object_resize(b, w, h); + + + if (edje_object_part_exists(b, "entrance.xsession.title")) + { + edje_object_part_text_set(b, "entrance.xsession.title", exs->name); + } - if (edje_object_part_exists(b, "entrance.xsession.title")) - { - edje_object_part_text_set(b, "entrance.xsession.title", exs->name); - } - - edje_object_signal_callback_add(b, "entrance,xsession,selected", "", - session_item_selected_cb, exs); - edje_object_signal_callback_add(b, "SessionUnSelected", "", - session_item_selected_cb, exs); + edje_object_signal_callback_add(b, "entrance,xsession,selected", "", + session_item_selected_cb, exs); + edje_object_signal_callback_add(b, "SessionUnSelected", "", + session_item_selected_cb, exs); - evas_object_show(b); + evas_object_show(b); - return b; + return b; } @@ -141,7 +144,7 @@ if (edje_object_file_set(edje, themefile, "Session") > 0) { evas_object_move(edje, -9999, -9999); - evas_object_layer_set(edje, 1); + evas_object_layer_set(edje, 1); edje_object_size_min_get(edje, &w, &h); if ((w > 0) && (h > 0)) evas_object_resize(result, w, h); =================================================================== RCS file: /cvs/e/e17/apps/entrance/src/client/main.c,v retrieving revision 1.86 retrieving revision 1.87 diff -u -3 -r1.86 -r1.87 --- main.c 29 Sep 2006 09:51:48 -0000 1.86 +++ main.c 26 Oct 2006 08:05:55 -0000 1.87 @@ -83,28 +83,28 @@ { Ecore_X_Event_Screensaver_Notify *e; Evas_Object *edje = data; - + e = ev; if (e->on) - { - int size; - - edje_object_play_set(edje, 0); - edje_freeze(); - size = evas_image_cache_get(evas_object_evas_get(edje)); - evas_image_cache_set(evas_object_evas_get(edje), 0); - evas_image_cache_set(evas_object_evas_get(edje), size); - size = evas_font_cache_get(evas_object_evas_get(edje)); - evas_font_cache_set(evas_object_evas_get(edje), 0); - evas_font_cache_set(evas_object_evas_get(edje), size); - /* FIXME: it'd be nice to literally delete all the evas objects - * to nuke even mroe memory use here */ - } - else - { - edje_thaw(); - edje_object_play_set(edje, 1); - } + { + int size; + + edje_object_play_set(edje, 0); + edje_freeze(); + size = evas_image_cache_get(evas_object_evas_get(edje)); + evas_image_cache_set(evas_object_evas_get(edje), 0); + evas_image_cache_set(evas_object_evas_get(edje), size); + size = evas_font_cache_get(evas_object_evas_get(edje)); + evas_font_cache_set(evas_object_evas_get(edje), 0); + evas_font_cache_set(evas_object_evas_get(edje), size); + /* FIXME: it'd be nice to literally delete all the evas objects to nuke + even mroe memory use here */ + } + else + { + edje_thaw(); + edje_object_play_set(edje, 1); + } return 1; } @@ -146,27 +146,30 @@ char buf[50]; ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); - + if ((o = evas_object_name_find(ecore_evas_get(ee), "ui"))) evas_object_resize(o, w, h); screens = ecore_x_xinerama_screen_count_get(); - if (!screens) screens = 1; - for (i = 0; i < screens; i++) { + if (!screens) + screens = 1; + for (i = 0; i < screens; i++) + { snprintf(buf, sizeof(buf), "background%d", i); if ((o = evas_object_name_find(ecore_evas_get(ee), buf))) { - if (screens > 1) - { - int sx, sy, sw, sh; - ecore_x_xinerama_screen_geometry_get(i, &sx, &sy, &sw, &sh); - evas_object_move(o, sx, sy); - evas_object_resize(o, sw, sh); - } - else - { - evas_object_resize(o, w, h); - } + if (screens > 1) + { + int sx, sy, sw, sh; + + ecore_x_xinerama_screen_geometry_get(i, &sx, &sy, &sw, &sh); + evas_object_move(o, sx, sy); + evas_object_resize(o, sw, sh); + } + else + { + evas_object_resize(o, w, h); + } } } } @@ -382,9 +385,10 @@ Entrance_X_Session *exs = (Entrance_X_Session *) data; entrance_session_x_session_set(session, exs); - if(!(session->session_selected)) + if (!(session->session_selected)) session->session_selected = 1; - edje_object_signal_emit(session->edje, "entrance,xsession,selected", ""); + edje_object_signal_emit(session->edje, "entrance,xsession,selected", + ""); } } @@ -630,14 +634,16 @@ * When the pointer switches screens, this moves the widgets to the new screen * @param data the integer value of the new screen */ -static void -screen_switch_cb(void *data, Evas_Object *obj, const char *signal, const char *source) +static void +screen_switch_cb(void *data, Evas_Object * obj, const char *signal, + const char *source) { int screen; Evas_Coord x, y, w, h; - screen = (int)data; - if (session->current_screen == screen) return; + screen = (int) data; + if (session->current_screen == screen) + return; evas_object_geometry_get(obj, &x, &y, &w, &h); evas_object_move(session->edje, x, y); @@ -705,22 +711,23 @@ ecore_shutdown(); return -1; } - - if(!ecore_desktop_init()) + + if (!ecore_desktop_init()) { - ecore_shutdown(); - ecore_config_shutdown(); - return -1; + ecore_shutdown(); + ecore_config_shutdown(); + return -1; } ecore_app_args_set(argc, (const char **) argv); - + /* Set locale to user's environment */ - if(!(setlocale(LC_ALL, ""))) - fprintf(stderr, "Locale set failed!\n" - "Please make sure you have your locale files installed for \"%s\"\n", - getenv("LANG")); - + if (!(setlocale(LC_ALL, ""))) + fprintf(stderr, + "Locale set failed!\n" + "Please make sure you have your locale files installed for \"%s\"\n", + getenv("LANG")); + /* Parse command-line options */ while (1) @@ -736,22 +743,22 @@ display = strdup(optarg); break; case 'g': - atog(optarg, &g_x, &g_y); + atog(optarg, &g_x, &g_y); - if (!g_x || !g_y) - { - syslog(LOG_CRIT, - "Invalid argument '%s' given for geometry. Exiting.", - optarg); - return (-1); - } + if (!g_x || !g_y) + { + syslog(LOG_CRIT, + "Invalid argument '%s' given for geometry. Exiting.", + optarg); + return (-1); + } - fullscreen = 0; - break; + fullscreen = 0; + break; case 't': /* Allow arbitrary paths to theme files */ - theme = theme_normalize_path(theme, optarg); - break; + theme = theme_normalize_path(theme, optarg); + break; case 'T': testing = 1; fullscreen = 0; @@ -773,7 +780,8 @@ return -1; session = entrance_session_new(config, display, testing); - if (testing) session->testing = 1; + if (testing) + session->testing = 1; if (config) free(config); @@ -817,7 +825,7 @@ } ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_cb, NULL); ecore_idle_enterer_add(idler_before_cb, NULL); - + ecore_x_screensaver_event_listen_set(1); /* Load our theme as an edje */ @@ -833,7 +841,7 @@ if (session->config->theme) free(session->config->theme); session->config->theme = strdup(buf); - + if (ecore_evas_init()) { edje_init(); @@ -843,8 +851,8 @@ e = setup_ecore_evas(0, 0, g_x, g_y, fullscreen); if (!e) { - /* Note: The actual error will be logged in setup_ecore_evas() */ - exit(EXITCODE); + /* Note: The actual error will be logged in setup_ecore_evas() */ + exit(EXITCODE); } ecore_idle_enterer_add(idler_after_cb, NULL); @@ -883,7 +891,7 @@ edje_shutdown(); ecore_evas_shutdown(); ecore_x_shutdown(); - ecore_desktop_shutdown(); + ecore_desktop_shutdown(); ecore_config_shutdown(); ecore_shutdown(); } @@ -917,31 +925,37 @@ /* setup our ecore_evas */ /* testing mode decides entrance window size * * Use rendering engine - specified in config. On systems with * hardware acceleration, GL - should improve performance appreciably */ - switch (session->config->engine) { - case 1: - if (ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_GL_X11)) { + specified in config. On systems with * hardware acceleration, GL should + improve performance appreciably */ + switch (session->config->engine) + { + case 1: + if (ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_GL_X11)) + { e = ecore_evas_gl_x11_new(NULL, 0, wx, wy, ww, wh); break; - } - syslog(LOG_INFO, "Warning: Evas GL engine: engine not supported. Defaulting to software engine.\n"); - - case 0: - e = ecore_evas_software_x11_new(NULL, 0, wx, wy, ww, wh); - break; - - default: - syslog(LOG_INFO, "Warning: Invalid Evas engine specified in config. Defaulting to software engine.\n"); - e = ecore_evas_software_x11_new(NULL, 0, wx, wy, ww, wh); - break; - } - - if (!e) { - syslog(LOG_INFO, "Critical error: No Evas engine available. Exiting.\n"); - return (NULL); + } + syslog(LOG_INFO, + "Warning: Evas GL engine: engine not supported. Defaulting to software engine.\n"); + + case 0: + e = ecore_evas_software_x11_new(NULL, 0, wx, wy, ww, wh); + break; + + default: + syslog(LOG_INFO, + "Warning: Invalid Evas engine specified in config. Defaulting to software engine.\n"); + e = ecore_evas_software_x11_new(NULL, 0, wx, wy, ww, wh); + break; + } + + if (!e) + { + syslog(LOG_INFO, + "Critical error: No Evas engine available. Exiting.\n"); + return (NULL); } - + ew = ecore_evas_software_x11_window_get(e); if (session->testing) ecore_evas_title_set(e, "Entrance - Testing Mode"); @@ -953,15 +967,15 @@ ecore_evas_move(e, wx, wy); if (fullscreen) - { - Ecore_X_Window root; - int w = 800, h = 600; - - root = ecore_x_window_root_first_get(); - ecore_x_window_size_get(root, &w, &h); - ecore_evas_move_resize(e, 0, 0, w, h); - } - + { + Ecore_X_Window root; + int w = 800, h = 600; + + root = ecore_x_window_root_first_get(); + ecore_x_window_size_get(root, &w, &h); + ecore_evas_move_resize(e, 0, 0, w, h); + } + /* Evas specific callbacks */ evas = ecore_evas_get(e); evas_image_cache_set(evas, 8 * 1024 * 1024); @@ -974,33 +988,35 @@ evas_key_modifier_add(evas, "Shift_R"); evas_key_modifier_add(evas, "Alt_L"); evas_key_modifier_add(evas, "Alt_R"); - + if (!strlen(session->config->background)) bg_file = session->config->theme; else bg_file = session->config->background; screens = ecore_x_xinerama_screen_count_get(); - if (!screens) screens = 1; - for (i = 0; i < screens; i++) + if (!screens) + screens = 1; + for (i = 0; i < screens; i++) { int sx, sy, sw, sh; char buf[50]; if (screens > 1) { - ecore_x_xinerama_screen_geometry_get(i, &sx, &sy, &sw, &sh); + ecore_x_xinerama_screen_geometry_get(i, &sx, &sy, &sw, &sh); } else { - ecore_evas_geometry_get(e, &sx, &sy, &sw, &sh); + ecore_evas_geometry_get(e, &sx, &sy, &sw, &sh); } /* Load background first, from theme file */ background = edje_object_add(evas); if (!edje_object_file_set(background, bg_file, "Background")) - if (!edje_object_file_set(background, bg_file, "e/desktop/background")) - syslog(LOG_INFO, "Failed to load background from %s", bg_file); + if (!edje_object_file_set + (background, bg_file, "e/desktop/background")) + syslog(LOG_INFO, "Failed to load background from %s", bg_file); evas_object_move(background, sx, sy); evas_object_resize(background, sw, sh); @@ -1010,149 +1026,157 @@ evas_object_show(background); if (screens > 1) { - edje_object_signal_callback_add(background, "mouse,in", "*", screen_switch_cb, (void *)i); + edje_object_signal_callback_add(background, "mouse,in", "*", + screen_switch_cb, (void *) i); } /* show the widgets on the first screen */ - if (i == 0) { - int j; - /* Load theme */ - edje = edje_object_add(evas); - if (!edje_object_file_set(edje, session->config->theme, "Main")) - { - syslog(LOG_CRIT, "Failed to load theme %s\n", buf); - entrance_session_free(session); - return NULL; - } - evas_object_move(edje, sx, sy); - evas_object_resize(edje, sw, sh); - evas_object_name_set(edje, "ui"); - evas_object_layer_set(edje, 1); - entrance_session_edje_object_set(session, edje); - - /* Setup the entries */ - for (j = 0; j < entries_count; j++) - { - if (edje_object_part_exists(edje, entries[j])) - { - edje_object_part_geometry_get(edje, entries[j], &x, &y, &w, &h); - o = esmart_text_entry_new(evas); - evas_object_move(o, x, y); - evas_object_resize(o, w, h); - evas_object_layer_set(o, 2); - esmart_text_entry_max_chars_set(o, 32); - esmart_text_entry_is_password_set(o, j); - evas_object_name_set(o, entries[j]); - esmart_text_entry_edje_part_set(o, edje, entries[j]); - - esmart_text_entry_return_key_callback_set(o, interp_return_key, - o); - - edje_object_signal_callback_add(edje, "In", entries[j], focus, o); - - edje_object_signal_callback_add(edje, "Out", entries[j], focus, - o); - edje_object_part_swallow(edje, entries[j], o); - evas_object_show(o); - } - o = NULL; - } - - /* See if we have a EntranceHostname part, set it */ - if (edje_object_part_exists(edje, "entrance.hostname")) - { - if ((str = get_my_hostname())) - { - edje_object_part_text_set(edje, "entrance.hostname", str); - free(str); - } - } - /* See if we have an EntranceTime part, setup a timer to automatically - update the Time */ - if (edje_object_part_exists(edje, "entrance.time")) - { - edje_object_signal_callback_add(edje, "Go", "entrance.time", - set_time, o); - edje_object_signal_emit(edje, "Go", "entrance.time"); - timer = ecore_timer_add(0.5, timer_cb, edje); - } - /* See if we have an EntranceDate part, setup a timer if one isn't - already running to automatically update the Date */ - if (edje_object_part_exists(edje, "entrance.date")) - { - edje_object_signal_callback_add(edje, "Go", "entrance.date", - set_date, o); - edje_object_signal_emit(edje, "Go", "entrance.date"); - if (!timer) - timer = ecore_timer_add(0.5, timer_cb, edje); - } - /* See if we have an EntranceSession part, set it to the first element - in the config's session list */ - if (edje_object_part_exists(edje, "entrance.xsessions.selected")) - { - entrance_session_x_session_set(session, - entrance_session_x_session_default_get - (session)); - } - /* See if we have an EntranceSessionList part, tell the session to load - the session list if it exists. */ - if (edje_object_part_exists(edje, "entrance.xsessions.list")) - { - entrance_session_xsession_list_add(session); - if ((container_orientation = - edje_object_data_get(edje, - "entrance.xsessions.list.orientation"))) - { - entrance_session_list_direction_set(session, - session->session_container, - container_orientation); - } - edje_object_signal_callback_add(edje, "drag", - "entrance.xsessions.list.scroller", - _container_scroll, - session->session_container); - } - /* See if we have an EntranceUserList part, tell the session to load - the user list if it exists. */ - if (edje_object_part_exists(edje, "entrance.users.list")) - { - entrance_session_user_list_add(session); - if ((container_orientation = - edje_object_data_get(edje, "entrance.users.list.orientation"))) - { - entrance_session_list_direction_set(session, - session->user_container, - container_orientation); - } - edje_object_signal_callback_add(edje, "drag", - "entrance.users.list.scroller", - _container_scroll, - session->user_container); - } - + if (i == 0) + { + int j; + + /* Load theme */ + edje = edje_object_add(evas); + if (!edje_object_file_set(edje, session->config->theme, "Main")) + { + syslog(LOG_CRIT, "Failed to load theme %s\n", buf); + entrance_session_free(session); + return NULL; + } + evas_object_move(edje, sx, sy); + evas_object_resize(edje, sw, sh); + evas_object_name_set(edje, "ui"); + evas_object_layer_set(edje, 1); + entrance_session_edje_object_set(session, edje); + + /* Setup the entries */ + for (j = 0; j < entries_count; j++) + { + if (edje_object_part_exists(edje, entries[j])) + { + edje_object_part_geometry_get(edje, entries[j], &x, &y, &w, + &h); + o = esmart_text_entry_new(evas); + evas_object_move(o, x, y); + evas_object_resize(o, w, h); + evas_object_layer_set(o, 2); + esmart_text_entry_max_chars_set(o, 32); + esmart_text_entry_is_password_set(o, j); + evas_object_name_set(o, entries[j]); + esmart_text_entry_edje_part_set(o, edje, entries[j]); + + esmart_text_entry_return_key_callback_set(o, interp_return_key, + o); + + edje_object_signal_callback_add(edje, "In", entries[j], focus, + o); + + edje_object_signal_callback_add(edje, "Out", entries[j], focus, + o); + edje_object_part_swallow(edje, entries[j], o); + evas_object_show(o); + } + o = NULL; + } + + /* See if we have a EntranceHostname part, set it */ + if (edje_object_part_exists(edje, "entrance.hostname")) + { + if ((str = get_my_hostname())) + { + edje_object_part_text_set(edje, "entrance.hostname", str); + free(str); + } + } + /* See if we have an EntranceTime part, setup a timer to + automatically update the Time */ + if (edje_object_part_exists(edje, "entrance.time")) + { + edje_object_signal_callback_add(edje, "Go", "entrance.time", + set_time, o); + edje_object_signal_emit(edje, "Go", "entrance.time"); + timer = ecore_timer_add(0.5, timer_cb, edje); + } + /* See if we have an EntranceDate part, setup a timer if one isn't + already running to automatically update the Date */ + if (edje_object_part_exists(edje, "entrance.date")) + { + edje_object_signal_callback_add(edje, "Go", "entrance.date", + set_date, o); + edje_object_signal_emit(edje, "Go", "entrance.date"); + if (!timer) + timer = ecore_timer_add(0.5, timer_cb, edje); + } + /* See if we have an EntranceSession part, set it to the first + element in the config's session list */ + if (edje_object_part_exists(edje, "entrance.xsessions.selected")) + { + entrance_session_x_session_set(session, + entrance_session_x_session_default_get + (session)); + } + /* See if we have an EntranceSessionList part, tell the session to + load the session list if it exists. */ + if (edje_object_part_exists(edje, "entrance.xsessions.list")) + { + entrance_session_xsession_list_add(session); + if ((container_orientation = + edje_object_data_get(edje, + "entrance.xsessions.list.orientation"))) + { + entrance_session_list_direction_set(session, + session->session_container, + container_orientation); + } + edje_object_signal_callback_add(edje, "drag", + "entrance.xsessions.list.scroller", + _container_scroll, + session->session_container); + } + /* See if we have an EntranceUserList part, tell the session to load + the user list if it exists. */ + if (edje_object_part_exists(edje, "entrance.users.list")) + { + entrance_session_user_list_add(session); + if ((container_orientation = + edje_object_data_get(edje, + "entrance.users.list.orientation"))) + { + entrance_session_list_direction_set(session, + session->user_container, + container_orientation); + } + edje_object_signal_callback_add(edje, "drag", + "entrance.users.list.scroller", + _container_scroll, + session->user_container); + } + /** * Setup Edje callbacks for signal emissions from our main edje * It's useful to delay showing of your edje till all your * callbacks have been added, otherwise show might not trigger all * the desired events */ - edje_object_signal_callback_add(edje, "entrance,user,auth,success,done", - "", done_cb, e); - edje_object_signal_callback_add(edje, "entrance,system,reboot", "", - reboot_cb, e); - edje_object_signal_callback_add(edje, "entrance,system,halt", "", - shutdown_cb, e); - edje_object_signal_callback_add(edje, "entrance,user,xsession,set", "", - _user_session_set, session); - evas_object_show(edje); - /* set focus to user input by default */ - edje_object_signal_emit(edje, "In", "entrance.entry.user"); - ecore_event_handler_add(ECORE_X_EVENT_SCREENSAVER_NOTIFY, screensaver_notify_cb, edje); + edje_object_signal_callback_add(edje, + "entrance,user,auth,success,done", + "", done_cb, e); + edje_object_signal_callback_add(edje, "entrance,system,reboot", "", + reboot_cb, e); + edje_object_signal_callback_add(edje, "entrance,system,halt", "", + shutdown_cb, e); + edje_object_signal_callback_add(edje, "entrance,user,xsession,set", + "", _user_session_set, session); + evas_object_show(edje); + /* set focus to user input by default */ + edje_object_signal_emit(edje, "In", "entrance.entry.user"); + ecore_event_handler_add(ECORE_X_EVENT_SCREENSAVER_NOTIFY, + screensaver_notify_cb, edje); - session->current_screen = 0; + session->current_screen = 0; } } - + ecore_x_window_cursor_set(ew, ECORE_X_CURSOR_ARROW); ecore_evas_cursor_set(e, session->config->pointer, 12, 0, 0); =================================================================== RCS file: /cvs/e/e17/apps/entrance/src/client/util.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- util.c 22 Jul 2006 09:00:43 -0000 1.5 +++ util.c 26 Oct 2006 08:05:55 -0000 1.6 @@ -78,45 +78,51 @@ printf("%s\n", msg); } -char* theme_normalize_path(char *theme, const char * filename) +char * +theme_normalize_path(char *theme, const char *filename) { - char* t = strchr((const char *) filename, '/'); + char *t = strchr((const char *) filename, '/'); + if (t) - theme = strdup(filename); + theme = strdup(filename); else { - theme = calloc(1, PATH_MAX); - t = strrchr((const char *) filename, '.'); - if (t && !strcmp(t, ".edj")) - snprintf(theme, PATH_MAX, "%s/themes/%s", PACKAGE_DATA_DIR, - filename); - else - snprintf(theme, PATH_MAX, "%s/themes/%s.edj", - PACKAGE_DATA_DIR, filename); + theme = calloc(1, PATH_MAX); + t = strrchr((const char *) filename, '.'); + if (t && !strcmp(t, ".edj")) + snprintf(theme, PATH_MAX, "%s/themes/%s", PACKAGE_DATA_DIR, + filename); + else + snprintf(theme, PATH_MAX, "%s/themes/%s.edj", PACKAGE_DATA_DIR, + filename); } return theme; } - -char* gstr_is_valid(const char* gstr) + +char * +gstr_is_valid(const char *gstr) { - char *t = strchr((const char *) gstr, 'x'); - if (!t || t >= (gstr + strlen(gstr))) - { - return NULL; - } + char *t = strchr((const char *) gstr, 'x'); - return strdup(t); + if (!t || t >= (gstr + strlen(gstr))) + { + return NULL; + } + + return strdup(t); } -void atog(const char* gstr, int *x, int *y) +void +atog(const char *gstr, int *x, int *y) { - char* sep = gstr_is_valid(gstr); + char *sep = gstr_is_valid(gstr); - if(sep) { - *x = atoi((const char *) gstr); - *y = atoi((const char *) (sep + 1)); - free(sep); - } + if (sep) + { + *x = atoi((const char *) gstr); + *y = atoi((const char *) (sep + 1)); + free(sep); + } } ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs