From: <enl...@li...> - 2002-05-06 17:41:42
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin Removed Files: Makefile auth.c auth.h box.c box.h button.c button.h entry.c entry.h label.c label.h main.c object.c object.h spawner.c spawner.h test.c ui.h user.c Log Message: Cleaning up elogin, migration to autoconf, removing old files. |
From: <enl...@li...> - 2002-05-06 17:41:43
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data Removed Files: bg.jpg box.png button.png button_clicked.png cursor.png elogin.bits.db entry.png pointer.png title.png Log Message: Cleaning up elogin, migration to autoconf, removing old files. |
From: <enl...@li...> - 2002-05-06 17:45:15
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/src/daemon Log Message: Directory /cvsroot/enlightenment/misc/elogin/src/daemon added to the repository |
From: <enl...@li...> - 2002-05-06 17:45:15
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/src/client Log Message: Directory /cvsroot/enlightenment/misc/elogin/src/client added to the repository |
From: <enl...@li...> - 2002-05-06 17:49:18
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/bgs Log Message: Directory /cvsroot/enlightenment/misc/elogin/data/bgs added to the repository |
From: <enl...@li...> - 2002-05-06 17:49:18
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/pam.d Log Message: Directory /cvsroot/enlightenment/misc/elogin/data/pam.d added to the repository |
From: <enl...@li...> - 2002-05-06 17:49:18
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/init.d Log Message: Directory /cvsroot/enlightenment/misc/elogin/data/init.d added to the repository |
From: <enl...@li...> - 2002-05-06 17:49:18
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/images Log Message: Directory /cvsroot/enlightenment/misc/elogin/data/images added to the repository |
From: <enl...@li...> - 2002-05-06 17:49:18
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/fonts Log Message: Directory /cvsroot/enlightenment/misc/elogin/data/fonts added to the repository |
From: <enl...@li...> - 2002-05-06 17:49:18
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/bits Log Message: Directory /cvsroot/enlightenment/misc/elogin/data/bits added to the repository |
From: <enl...@li...> - 2002-05-06 17:56:07
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/bgs Added Files: elogin.bg.db Log Message: Elogin now uses autoconf =) It consists of two parts, elogin and elogind elogind - the spawner for the elogin process in src/daemon/ elogin - the ui you use to login in src/client/ See the INSTALL |
From: <enl...@li...> - 2002-05-06 17:56:07
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/bits Added Files: elogin.bits.db Log Message: Elogin now uses autoconf =) It consists of two parts, elogin and elogind elogind - the spawner for the elogin process in src/daemon/ elogin - the ui you use to login in src/client/ See the INSTALL |
From: <enl...@li...> - 2002-05-06 17:56:08
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/fonts Added Files: notepad.ttf Log Message: Elogin now uses autoconf =) It consists of two parts, elogin and elogind elogind - the spawner for the elogin process in src/daemon/ elogin - the ui you use to login in src/client/ See the INSTALL |
From: <enl...@li...> - 2002-05-06 17:56:08
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/init.d Added Files: elogin Log Message: Elogin now uses autoconf =) It consists of two parts, elogin and elogind elogind - the spawner for the elogin process in src/daemon/ elogin - the ui you use to login in src/client/ See the INSTALL |
From: <enl...@li...> - 2002-05-06 17:56:08
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/images Added Files: logo.png pointer.png Log Message: Elogin now uses autoconf =) It consists of two parts, elogin and elogind elogind - the spawner for the elogin process in src/daemon/ elogin - the ui you use to login in src/client/ See the INSTALL |
From: <enl...@li...> - 2002-05-06 17:56:08
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/pam.d Added Files: elogin Log Message: Elogin now uses autoconf =) It consists of two parts, elogin and elogind elogind - the spawner for the elogin process in src/daemon/ elogin - the ui you use to login in src/client/ See the INSTALL |
From: <enl...@li...> - 2002-05-06 17:56:08
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/src/daemon Added Files: Makefile.am spawner.c spawner.h Log Message: Elogin now uses autoconf =) It consists of two parts, elogin and elogind elogind - the spawner for the elogin process in src/daemon/ elogin - the ui you use to login in src/client/ See the INSTALL |
From: <enl...@li...> - 2002-05-06 17:56:08
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/src/client Added Files: Makefile.am callbacks.c callbacks.h e_login_auth.c e_login_auth.h e_login_session.c e_login_session.h elogin.h events.c events.h intro.c main.c Log Message: Elogin now uses autoconf =) It consists of two parts, elogin and elogind elogind - the spawner for the elogin process in src/daemon/ elogin - the ui you use to login in src/client/ See the INSTALL |
From: <enl...@li...> - 2002-05-06 17:56:41
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/src Added Files: Makefile.am Log Message: Elogin now uses autoconf =) It consists of two parts, elogin and elogind elogind - the spawner for the elogin process in src/daemon/ elogin - the ui you use to login in src/client/ See the INSTALL |
From: <enl...@li...> - 2002-05-06 17:56:42
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin Modified Files: AUTHORS INSTALL README TODO Log Message: Elogin now uses autoconf =) It consists of two parts, elogin and elogind elogind - the spawner for the elogin process in src/daemon/ elogin - the ui you use to login in src/client/ See the INSTALL =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/AUTHORS,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- AUTHORS 18 Dec 2001 17:52:03 -0000 1.3 +++ AUTHORS 6 May 2002 17:56:06 -0000 1.4 @@ -1 +1,2 @@ Julien Boulnois <jbo...@ne...> +Corey Donohoe <at...@at...> =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/INSTALL,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- INSTALL 18 Dec 2001 17:53:10 -0000 1.3 +++ INSTALL 6 May 2002 17:56:06 -0000 1.4 @@ -0,0 +1,19 @@ +you need + - ebits + - ecore + - evas + - ebg + - pam + +./autogen.sh +make +make install + +copy data/pam.d/elogin to /etc/pam.d + +I've currently only launched it from console /usr/local/sbin/elogind, but it +does work. + +Patches welcome =) + +atmos<at...@at...> May 6, 2002 =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/README,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- README 18 Dec 2001 17:53:52 -0000 1.3 +++ README 6 May 2002 17:56:06 -0000 1.4 @@ -1 +1,3 @@ -Enlightenment login \ No newline at end of file +Enlightenment Login Thingie + +See INSTALL =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/TODO,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- TODO 18 Dec 2001 17:54:21 -0000 1.3 +++ TODO 6 May 2002 17:56:06 -0000 1.4 @@ -1,11 +1,4 @@ -IN ORDER : - - show login error and accept - - make autoconf system - - CTRL-C CTRL-SHIFT-DEL sig must restart elogind - - create config system +Stuffs: + - Gtk option config tool to accomodate a config system - create theme system - -ALWAYS: - - fix bugs - - improve interface - \ No newline at end of file + - Make the interface prettier |
From: <enl...@li...> - 2002-05-06 17:59:29
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin Added Files: Makefile.am acconfig.h acinclude.m4 aclocal.m4 autogen.sh configure.in Log Message: forgot these |
From: <enl...@li...> - 2002-05-10 05:39:22
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/src/client Modified Files: Makefile.am callbacks.c e_login_auth.c e_login_auth.h e_login_session.c e_login_session.h events.c intro.c main.c Log Message: Easier to mess with in X now Lots of little cleanups =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- Makefile.am 6 May 2002 17:56:07 -0000 1.1 +++ Makefile.am 10 May 2002 05:39:20 -0000 1.2 @@ -21,5 +21,4 @@ @evas_libs@ \ @ebg_libs@ \ @edb_libs@ \ - @ecore_libs@ - + @ecore_libs@ =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/callbacks.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- callbacks.c 6 May 2002 17:56:07 -0000 1.1 +++ callbacks.c 10 May 2002 05:39:20 -0000 1.2 @@ -1,18 +1,13 @@ #include "callbacks.h" -#include "e_login_auth.h" +#include "e_login_session.h" +extern void hide_text_description(void); extern void show_text_description(void); extern void show_password_description(void); +extern void show_error_description(char *); static void elogin_start_x(E_Login_Auth e); -void -elogin_bg_mouse_down(void *_data, Evas _e, Evas_Object _o, int _b, int _x, - int _y) -{ - exit(0); -} - int elogin_return_key_cb(E_Login_Session e, char *buffer) { @@ -26,8 +21,17 @@ switch (return_request++) { case 0: - show_password_description(); - e_login_auth_set_user(e->auth, buffer); + if (e_login_auth_set_user(e->auth, buffer)) + { + show_error_description("Unknown User"); + e_login_session_reset_user(e); + return_request = 0; + } + else + { + hide_text_description(); + show_password_description(); + } break; case 1: e_login_auth_set_pass(e->auth, buffer); @@ -37,7 +41,7 @@ } else { - show_text_description(); + show_error_description("Login failed"); e_login_session_reset_user(e); } return_request = 0; @@ -55,22 +59,21 @@ char buf[PATH_MAX]; e_login_auth_setup_environment(e); -#if 1 +#if X_TESTING + snprintf(buf, PATH_MAX, "/usr/X11R6/bin/xterm"); +#else snprintf(buf, PATH_MAX, "%s/.xinitrc", e->pam.pw->pw_dir); #endif -#if 0 - snprintf(buf, PATH_MAX, "/usr/local/bin/gaim"); -#endif ecore_sync(); XCloseDisplay(ecore_display_get()); - if(initgroups(e->pam.pw->pw_name, e->pam.pw->pw_gid)) - fprintf(stderr, "Unable to initialize group\n"); + if (initgroups(e->pam.pw->pw_name, e->pam.pw->pw_gid)) + fprintf(stderr, "Unable to initialize group\n"); if (setgid(e->pam.pw->pw_gid)) - fprintf(stderr, "Unable to set group id\n"); + fprintf(stderr, "Unable to set group id\n"); if (setuid(e->pam.pw->pw_uid)) - fprintf(stderr, "Unable to set user id\n"); - - execl("/bin/sh", "/bin/sh", "-c", buf, NULL); + fprintf(stderr, "Unable to set user id\n"); + e_login_auth_free(e); + execl("/bin/sh", "/bin/sh", "-c", buf, NULL); } =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_auth.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_login_auth.c 6 May 2002 17:56:07 -0000 1.1 +++ e_login_auth.c 10 May 2002 05:39:20 -0000 1.2 @@ -39,6 +39,9 @@ return (PAM_SUCCESS); } +/* e_login_auth_new + * Returns a 0'd out E_Login_Auth Struct + */ E_Login_Auth e_login_auth_new(void) { @@ -52,6 +55,9 @@ return (e); } +/* e_login_auth_free + * @e the E_Login_Auth struct to be freed + */ void e_login_auth_free(E_Login_Auth e) { @@ -66,6 +72,11 @@ free(e); } +/* + * e_login_auth_cmp - attempt to auth the user + * @e The E_Login_Auth struct to attempt to validate on the system + * Returns - 0 on success, 1 on error + */ int e_login_auth_cmp(E_Login_Auth e) { @@ -102,24 +113,42 @@ snprintf(e->pass, PATH_MAX, "%s", str); } -void +/* + * e_login_auth_set_user - set the username in the struct + * @e - the E_Login_Auth to set the user of + * @str - a string to set the user to, NULL is fine + * Returns - 0 on success, 1 on failure(User not in system) + * Check to see if the user exists on the system, if they do, e->user is set + * to the passed in string, if they don't, e->user is unmodified. + */ +int e_login_auth_set_user(E_Login_Auth e, char *str) { + int result = 0; + if (str) { snprintf(e->user, PATH_MAX, "%s", str); - if (e->pam.pw) /* should i be freeing here ? */ + if (e->pam.pw) { + free(e->pam.pw); + e->pam.pw = NULL; } - e->pam.pw = getpwnam(e->user); - endpwent(); - if (!e->pam.pw) + if ((e->pam.pw = getpwnam(e->user))) + endpwent(); + else { - fprintf(stderr, "Unknown user(%s) to this system\n", e->user); + result = 1; } } + return (result); } +/* + * e_login_auth_setup_environment - setup the users environment + * @e the E_Login_Auth to setup + * I'm not sure if this is correct, but for now it works. + */ void e_login_auth_setup_environment(E_Login_Auth e) { @@ -144,18 +173,19 @@ } #if 0 +/* test */ +#define LOOPTEST 0 + int main(int argc, char *argv[]) { E_Login_Auth e; - char *user = "foo"; - char *pass = ""; int i; if (argc < 3) exit(); -#if 0 +#if LOOPTEST for (i = 0; i < 60; i++) { #endif @@ -173,7 +203,7 @@ printf("Compare was not a success\n"); } e_login_auth_free(e); -#if 0 +#if LOOPTEST } #endif return (0); =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_auth.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_login_auth.h 6 May 2002 17:56:07 -0000 1.1 +++ e_login_auth.h 10 May 2002 05:39:20 -0000 1.2 @@ -31,12 +31,15 @@ }; typedef struct _E_Login_Auth *E_Login_Auth; -/* 0 on success, 1 on failure */ E_Login_Auth e_login_auth_new(void); void e_login_auth_free(E_Login_Auth e); + +/* 0 on success, 1 on failure */ int e_login_auth_cmp(E_Login_Auth e); void e_login_auth_set_pass(E_Login_Auth e, char *str); -void e_login_auth_set_user(E_Login_Auth e, char *str); + +/* 0 on success, 1 on no user by that name */ +int e_login_auth_set_user(E_Login_Auth e, char *str); void e_login_auth_setup_environment(E_Login_Auth e); #endif =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_session.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_login_session.c 6 May 2002 17:56:07 -0000 1.1 +++ e_login_session.c 10 May 2002 05:39:20 -0000 1.2 @@ -16,7 +16,7 @@ e->auth = e_login_auth_new(); - return(e); + return (e); } void @@ -25,21 +25,16 @@ Window win, ewin; Evas evas; -#if 1 - ecore_window_get_geometry(ecore_window_root(), NULL, NULL, &e->geom.w, - &e->geom.h); - win = ecore_window_root(); - -#endif - -#if 0 /* for testing in X */ - +#if X_TESTING win = ecore_window_new(0, 0, 0, 640, 480); ecore_window_set_events(win, XEV_CONFIGURE | XEV_PROPERTY); ecore_window_set_name_class(win, "Elogin Test", "Main"); e->geom.w = 640; e->geom.h = 480; - +#else + ecore_window_get_geometry(ecore_window_root(), NULL, NULL, &e->geom.w, + &e->geom.h); + win = ecore_window_root(); #endif ecore_window_move(win, 0, 0); @@ -70,7 +65,6 @@ e_bg_set_layer(e->bg, 0); e_bg_show(e->bg); - e_bg_callback_add(e->bg, CALLBACK_MOUSE_DOWN, elogin_bg_mouse_down, e); intro_init(e); } =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_session.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_login_session.h 6 May 2002 17:56:07 -0000 1.1 +++ e_login_session.h 10 May 2002 05:39:20 -0000 1.2 @@ -38,4 +38,7 @@ int e_login_session_auth_user(E_Login_Session e); void e_login_session_reset_user(E_Login_Session e); +#define X_TESTING 0 /* set to 1 if you wanna run inside a window + in X */ + #endif =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/events.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- events.c 6 May 2002 17:56:07 -0000 1.1 +++ events.c 10 May 2002 05:39:20 -0000 1.2 @@ -2,9 +2,11 @@ #include "callbacks.h" #include <limits.h> +#define USER_PASS_MAX 32 + static struct { - char buf[PATH_MAX]; + char buf[USER_PASS_MAX]; int index; } typebuffer; @@ -101,19 +103,31 @@ e = ev->event; - if (typebuffer.index >= PATH_MAX) - return; #if 0 fprintf(stderr, "typebuffer.index is %d\n", typebuffer.index); fprintf(stderr, "e->key is %s\n", e->key); fprintf(stderr, "e->compose is %s\n", e->compose); #endif + if (e->key) { - int length = strlen(e->key); + int length = 0; - if (length > 1) + length = strlen(e->key); + if (e->mods & ECORE_EVENT_KEY_MODIFIER_CTRL) + { + switch (*e->key) + { + case 'u': /* clear the buffer */ + memset(&typebuffer.buf, 0, USER_PASS_MAX); + typebuffer.index = 0; + break; + default: + break; + } + } + else if (length > 1) { if (!(strcmp(e->key, "BackSpace"))) { @@ -126,43 +140,28 @@ { password_or_user = elogin_return_key_cb(e_session, typebuffer.buf); - memset(&typebuffer.buf, 0, PATH_MAX); + memset(&typebuffer.buf, 0, USER_PASS_MAX); typebuffer.index = 0; } + + if (typebuffer.index >= USER_PASS_MAX) + return; else if (!(strcmp(e->key, "space"))) { typebuffer.buf[typebuffer.index++] = ' '; } - else - { - fprintf(stderr, "Unknown key down %s\n", e->key); - } } else { - if (e->mods & ECORE_EVENT_KEY_MODIFIER_CTRL) - { - switch (*e->key) - { - case 'u': /* clear the buffer */ - memset(&typebuffer.buf, 0, PATH_MAX); - typebuffer.index = 0; - break; - case 'q': - exit(0); - default: - typebuffer.buf[typebuffer.index++] = *e->key; - break; - } - } - else - { - typebuffer.buf[typebuffer.index++] = *e->key; - } + if (typebuffer.index >= USER_PASS_MAX) + return; + typebuffer.buf[typebuffer.index++] = *e->key; } } else { + if (typebuffer.index >= USER_PASS_MAX) + return; typebuffer.buf[typebuffer.index++] = *e->compose; } set_text_entry_text(password_or_user, typebuffer.buf); =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/intro.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- intro.c 6 May 2002 17:56:07 -0000 1.1 +++ intro.c 10 May 2002 05:39:20 -0000 1.2 @@ -5,6 +5,7 @@ #define TEXT_DESC_FONTSIZE 22 #define TEXT_ENTRY_FONTSIZE 20 +#define TEXT_ERR_FONTSIZE 22 #define ENTRY_OFFSET 30 @@ -14,77 +15,79 @@ #define PERCENT_DESC_HORIZONTAL_PLACEMENT 0.5 #define PERCENT_DESC_VERTICAL_PLACEMENT 0.8 -#define DESC_FADE_IN_TO 0.05 -#define DESC_FADE_OUT_TO 0.1 - -#define FONT_R 0 -#define FONT_G 0 -#define FONT_B 0 -#define FONT_A 0 +#define FONTNAME "notepad.ttf" +#define FONT_R 192 +#define FONT_G 192 +#define FONT_B 192 +#define FONT_A 210 static Evas evas = NULL; static Evas_Object _o_logo = NULL; static Evas_Object _o_text_desc = NULL; static Evas_Object _o_pass_desc = NULL; static Evas_Object _o_text_entry = NULL; - -void intro_fade_in_text(int val, void *_data); -void intro_fade_out_text(int val, void *_data); +static Evas_Object _o_err_str = NULL; void -intro_fade_out_text(int val, void *_data) +show_password_description(void) { - val -= 2; - - if (val > 160) - { - evas_set_color(evas, _o_text_desc, FONT_R, FONT_G, FONT_B, val); - evas_set_color(evas, _o_pass_desc, FONT_R, FONT_G, FONT_B, val); - evas_set_color(evas, _o_text_entry, FONT_R, FONT_G, FONT_B, val); - ecore_add_event_timer("fade_out", DESC_FADE_OUT_TO, intro_fade_out_text, - val, _data); - } - else - { - ecore_add_event_timer("fade_in", DESC_FADE_IN_TO, intro_fade_in_text, - val, _data); - } - + evas_show(evas, _o_pass_desc); } + void -intro_fade_in_text(int val, void *_data) +hide_password_description(void) { - val += 3; + evas_hide(evas, _o_pass_desc); +} - if (val < 255) - { - evas_set_color(evas, _o_text_desc, FONT_R, FONT_G, FONT_B, val); - evas_set_color(evas, _o_pass_desc, FONT_R, FONT_G, FONT_B, val); - evas_set_color(evas, _o_text_entry, FONT_R, FONT_G, FONT_B, val); - ecore_add_event_timer("fade_in", DESC_FADE_IN_TO, intro_fade_in_text, - val, _data); - } - else - { - ecore_add_event_timer("fade_out", DESC_FADE_OUT_TO, intro_fade_out_text, - val, _data); - } +void +show_text_description(void) +{ + evas_show(evas, _o_text_desc); } + void -show_password_description(void) +hide_text_description(void) { - evas_show(evas, _o_pass_desc); evas_hide(evas, _o_text_desc); } +static void +error_die(int val, void *_data) +{ + evas_show(evas, _o_text_desc); + evas_hide(evas, _o_err_str); +} void -show_text_description(void) +show_error_description(char *err_str) { - evas_show(evas, _o_text_desc); - evas_hide(evas, _o_pass_desc); + int x, y; + int w, h; + double tw, th; + Evas_Object o = _o_err_str; + + if (err_str) + { + evas_get_drawable_size(evas, &w, &h); + evas_set_text(evas, _o_err_str, err_str); + + tw = evas_get_text_width(evas, o); + th = evas_get_text_height(evas, o); + + x = ((w - tw) * PERCENT_DESC_HORIZONTAL_PLACEMENT); + y = ((h - th) * PERCENT_DESC_VERTICAL_PLACEMENT); + + evas_move(evas, o, x, y); + + evas_hide(evas, _o_pass_desc); + evas_hide(evas, _o_text_desc); + evas_show(evas, _o_err_str); + ecore_add_event_timer("error_string", 1, error_die, 255, o); + } } -#define PASSWORD(str, size) { int i; memset(&str, 0, size+1); for(i = 0; i < size; i++) str[i] = '*'; } +#define STAR 42 /* '*' */ +#define PASSWORD(str, size) { memset(&str, STAR, size); str[size + 1] = 0; } void set_text_entry_text(int is_pass, char *txt) @@ -133,19 +136,17 @@ evas_del_object(evas, _o_pass_desc); if (_o_text_entry) evas_del_object(evas, _o_text_entry); + if (_o_err_str) + evas_del_object(evas, _o_err_str); } else { if (e) evas = e->evas; - else - { - fprintf(stderr, "intro_init with null evas\n"); - exit(0); - } } - o = evas_add_image_from_file(evas, PACKAGE_DATA_DIR "/data/images/logo.png"); + o = evas_add_image_from_file(evas, + PACKAGE_DATA_DIR "/data/images/logo.png"); evas_get_image_size(evas, o, &iw, &ih); evas_resize(evas, o, iw, ih); evas_set_image_fill(evas, o, 0.0, 0.0, (float) iw, (float) ih); @@ -156,7 +157,7 @@ evas_show(evas, o); _o_logo = o; - o = evas_add_text(evas, "notepad.ttf", TEXT_DESC_FONTSIZE, WELCOME_STRING); + o = evas_add_text(evas, FONTNAME, TEXT_DESC_FONTSIZE, WELCOME_STRING); tw = evas_get_text_width(evas, o); th = evas_get_text_height(evas, o); x = ((e->geom.w - tw) * PERCENT_DESC_HORIZONTAL_PLACEMENT); @@ -167,8 +168,7 @@ evas_show(evas, o); _o_text_desc = o; - o = evas_add_text(evas, "notepad.ttf", TEXT_DESC_FONTSIZE, - PASSWORD_STRING); + o = evas_add_text(evas, FONTNAME, TEXT_DESC_FONTSIZE, PASSWORD_STRING); tw = evas_get_text_width(evas, o); th = evas_get_text_height(evas, o); x = ((e->geom.w - tw) * PERCENT_DESC_HORIZONTAL_PLACEMENT); @@ -178,17 +178,17 @@ evas_set_layer(evas, o, 5); _o_pass_desc = o; - o = evas_add_text(evas, "notepad.ttf", TEXT_DESC_FONTSIZE, ""); - tw = evas_get_text_width(evas, o); - th = evas_get_text_height(evas, o); - x = ((e->geom.w - tw) * PERCENT_DESC_HORIZONTAL_PLACEMENT); - y = ((e->geom.h - th) * PERCENT_DESC_VERTICAL_PLACEMENT + ENTRY_OFFSET); + o = evas_add_text(evas, FONTNAME, TEXT_DESC_FONTSIZE, ""); evas_set_color(evas, o, FONT_R, FONT_G, FONT_B, FONT_A); - evas_move(evas, o, x, y); evas_set_layer(evas, o, 5); + evas_move(evas, o, -999999, -9999999); evas_show(evas, o); _o_text_entry = o; - ecore_add_event_timer("intro_init", DESC_FADE_IN_TO, intro_fade_in_text, 0, - e); + /* _o_err_str is placed later */ + o = evas_add_text(evas, FONTNAME, TEXT_ERR_FONTSIZE, ""); + evas_set_color(evas, o, FONT_R, FONT_G, FONT_B, FONT_A); + evas_set_layer(evas, o, 10); + _o_err_str = o; + } =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/main.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- main.c 6 May 2002 17:56:07 -0000 1.1 +++ main.c 10 May 2002 05:39:20 -0000 1.2 @@ -41,5 +41,5 @@ setup(); ecore_event_loop(); - return(0); + return (0); } |
From: <enl...@li...> - 2002-05-10 06:00:30
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/src/client Modified Files: e_login_session.c e_login_session.h events.c Log Message: get rid of the X cursor =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_session.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- e_login_session.c 10 May 2002 05:39:20 -0000 1.2 +++ e_login_session.c 10 May 2002 06:00:29 -0000 1.3 @@ -1,8 +1,6 @@ #include"e_login_session.h" #include"callbacks.h" -char *bgfile = PACKAGE_DATA_DIR "/data/bgs/elogin.bg.db"; - extern void intro_init(E_Login_Session e); #define RENDER_METHOD RENDER_METHOD_ALPHA_SOFTWARE @@ -24,6 +22,8 @@ { Window win, ewin; Evas evas; + char *bgfile = PACKAGE_DATA_DIR "/data/bgs/elogin.bg.db"; + int iw, ih; #if X_TESTING win = ecore_window_new(0, 0, 0, 640, 480); @@ -51,6 +51,7 @@ ecore_window_show(ewin); ecore_window_show(win); + ecore_set_blank_pointer(win); e->main_win = win; e->ewin = ewin; @@ -65,6 +66,14 @@ e_bg_set_layer(e->bg, 0); e_bg_show(e->bg); + e->pointer = + evas_add_image_from_file(evas, + PACKAGE_DATA_DIR "/data/images/pointer.png"); + evas_get_image_size(evas, e->pointer, &iw, &ih); + evas_resize(evas, e->pointer, iw, ih); + evas_set_image_fill(evas, e->pointer, 0.0, 0.0, (double) iw, (double) ih); + evas_set_layer(evas, e->pointer, 2000); + evas_show(evas, e->pointer); intro_init(e); } =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_session.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- e_login_session.h 10 May 2002 05:39:20 -0000 1.2 +++ e_login_session.h 10 May 2002 06:00:29 -0000 1.3 @@ -14,6 +14,7 @@ struct _E_Login_Session { Evas evas; + Evas_Object pointer; E_Background bg; E_Login_Auth auth; Window main_win, ewin; =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/client/events.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- events.c 10 May 2002 05:39:20 -0000 1.2 +++ events.c 10 May 2002 06:00:29 -0000 1.3 @@ -70,6 +70,7 @@ if ((e->win != evas_get_window(evas))) return; evas_event_move(evas, e->x, e->y); + evas_move(evas, e_session->pointer, e->x, e->y); } static void |
From: <enl...@li...> - 2002-05-12 20:57:29
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/data/images Modified Files: pointer.png Log Message: The white pointer from E =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/data/images/pointer.png,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 Binary files /tmp/cvs1LJCIw and /tmp/cvsav269S differ |
From: <enl...@li...> - 2002-05-13 05:51:58
|
Enlightenment CVS committal Author : atmosphere Project : misc Module : elogin Dir : misc/elogin/src/daemon Modified Files: spawner.c Log Message: First piece of a patch from Ibukun Olumuyiwa =================================================================== RCS file: /cvsroot/enlightenment/misc/elogin/src/daemon/spawner.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- spawner.c 6 May 2002 17:56:07 -0000 1.1 +++ spawner.c 13 May 2002 05:51:56 -0000 1.2 @@ -82,7 +82,7 @@ switch (pid = fork()) { case 0: - if(execl(ELOGIN, ELOGIN, d->name) < 0) + if(execl(ELOGIN, ELOGIN, d->name, NULL) < 0) exit(0); break; case -1: |