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