Enlightenment CVS committal

Author  : atmosphere
Project : misc
Module  : elogin

Dir     : misc/elogin/src/client


Modified Files:
        callbacks.c e_login_config.c e_login_config.h 
        e_login_session.c 


Log Message:
allow you to associate a path with your named session now.  


===================================================================
RCS file: /cvsroot/enlightenment/misc/elogin/src/client/callbacks.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- callbacks.c 10 Jan 2003 14:32:53 -0000      1.7
+++ callbacks.c 10 Jan 2003 15:36:02 -0000      1.8
@@ -24,6 +24,7 @@
 elogin_select_session(E_Login_Session e, int index)
 {
    int ix, iy;
+   E_Login_Session_Type *st = NULL;
 
    /* Force within list bounds/wraparound */
    if (index >= evas_list_count(e->listitems))
@@ -38,7 +39,8 @@
 
    /* Update current session */
    e->session_index = index;
-   e->session = evas_list_nth(e->config->sessions, index);
+   st = evas_list_nth(e->config->sessions, index);
+   e->session = st->path;
 }
 
 int
@@ -97,11 +99,10 @@
 #if X_TESTING
    snprintf(buf, PATH_MAX, "/usr/X11R6/bin/xterm");
 #else
-/*   snprintf(buf, PATH_MAX, "%s/.xinitrc", e->auth->pam.pw->pw_dir); */
-   if (e->session)
-      snprintf(buf, PATH_MAX, "/etc/X11/Xsession %s", e->session);
-   else
+   if ((!e->session))
       snprintf(buf, PATH_MAX, "/etc/X11/Xsession");
+   else
+      snprintf(buf, PATH_MAX, "/etc/X11/Xsession %s", e->session);
 #endif
 
    ecore_sync();
===================================================================
RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_config.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_login_config.c    10 Jan 2003 14:32:54 -0000      1.2
+++ e_login_config.c    10 Jan 2003 15:36:03 -0000      1.3
@@ -28,16 +28,21 @@
 
    if (e_db_int_get(db, "/elogin/session/count", &num_session))
    {
-       for(i = 0; i < num_session; i++)
-       {
-           char buf[PATH_MAX];
-           snprintf(buf, PATH_MAX, "/elogin/session/%d", i);
-           if((str = e_db_str_get(db, buf)))
-           {
-               l = evas_list_append(l, str);
-           }
-       }
-       e->sessions = l;
+      for (i = 0; i < num_session; i++)
+      {
+         char buf[PATH_MAX];
+         E_Login_Session_Type *st = NULL;
+
+         st = (E_Login_Session_Type *) malloc(sizeof(E_Login_Session_Type));
+         memset(st, 0, sizeof(E_Login_Session_Type));
+
+         snprintf(buf, PATH_MAX, "/elogin/session/%d/name", i);
+         st->name = e_db_str_get(db, buf);
+         snprintf(buf, PATH_MAX, "/elogin/session/%d/path", i);
+         st->path = e_db_str_get(db, buf);
+         l = evas_list_append(l, st);
+      }
+      e->sessions = l;
    }
    else
    {
===================================================================
RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_config.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_login_config.h    10 Jan 2003 14:32:54 -0000      1.2
+++ e_login_config.h    10 Jan 2003 15:36:04 -0000      1.3
@@ -37,11 +37,17 @@
       float h, v;
    }
    place;
-   Evas_List users;
+   Evas_List *users;
    Evas_List *sessions;
 };
-
 typedef struct _E_Login_Config *E_Login_Config;
+
+struct _E_Login_Session_Type
+{
+   char *name;
+   char *path;
+};
+typedef struct _E_Login_Session_Type E_Login_Session_Type;
 
 E_Login_Config e_login_config_parse(char *file);
 void e_login_config_print(E_Login_Config e);
===================================================================
RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_session.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_login_session.c   10 Jan 2003 14:32:54 -0000      1.6
+++ e_login_session.c   10 Jan 2003 15:36:04 -0000      1.7
@@ -58,6 +58,7 @@
    Evas *evas;
    Evas_List *l;
    Evas_Object *li;
+   E_Login_Session_Type *st = NULL;
    int iw, ih, ix, iy;
 
    if (!e)
@@ -171,9 +172,10 @@
    e->listitems = NULL;
    for (l = e->config->sessions; l && iy <= 330; l = l->next)
    {
+      st = (E_Login_Session_Type *) evas_list_data(l);
       li = evas_object_text_add(evas);
       evas_object_text_font_set(li, "notepad.ttf", 16.0);
-      evas_object_text_text_set(li, (char *) evas_list_data(l));
+      evas_object_text_text_set(li, st->name);
       evas_object_layer_set(li, 5);
       evas_object_color_set(li, 0, 0, 0, 255);
       evas_object_move(li, (double) ix, (double) iy);
@@ -197,7 +199,10 @@
    /* Set default session to first in list (for now) */ ;
    l = e->config->sessions;
    if (l)
-      e->session = evas_list_data(l);
+   {
+      st = evas_list_data(l);
+      e->session = st->path;
+   }
    else
       e->session = NULL;
 




-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to