summaryrefslogtreecommitdiff
path: root/src/bin/e_ipc.c
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2004-12-05 07:43:51 +0000
committerCarsten Haitzler <raster@rasterman.com>2004-12-05 07:43:51 +0000
commit7562a08b5a168ebd10f66b05e232e04625ee3149 (patch)
tree033806c376df82466b77e793acff1055fc84472a /src/bin/e_ipc.c
parent35ad8eb192a3205bdddb09ec9fa735235af3dcca (diff)
fix up config code so i can do lists and structs etc.
SVN revision: 12357
Diffstat (limited to 'src/bin/e_ipc.c')
-rw-r--r--src/bin/e_ipc.c53
1 files changed, 27 insertions, 26 deletions
diff --git a/src/bin/e_ipc.c b/src/bin/e_ipc.c
index 9d0f986..d59cc56 100644
--- a/src/bin/e_ipc.c
+++ b/src/bin/e_ipc.c
@@ -171,32 +171,33 @@ _e_ipc_cb_client_data(void *data, int type, void *event)
171 break; 171 break;
172 case E_IPC_OP_BG_SET: 172 case E_IPC_OP_BG_SET:
173 { 173 {
174 char *file; 174 char *file;
175 char *valstr; 175 char *valstr;
176 Evas_List *cl; 176 Evas_List *managers, *l;
177 int cont; 177 int cont;
178 178
179 179 file = malloc(e->size + 1);
180 file = malloc(e->size + 1); 180 file[e->size] = 0;
181 file[e->size] = 0; 181 memcpy(file, e->data, e->size);
182 memcpy(file, e->data, e->size); 182 E_FREE(e_config->desktop_default_background);
183 183 e_config->desktop_default_background = file;
184 valstr=strdup("desktop/background"); 184
185 cl=edje_file_collection_list(file); 185 managers = e_manager_list();
186 cont=1; 186 for (l = managers; l; l = l->next)
187 while(cl && cont) 187 {
188 { 188 Evas_List *ll;
189 if(!strcmp(cl->data,valstr)) 189 E_Manager *man;
190 { 190
191 cont=0; 191 man = l->data;
192 ecore_config_string_set("e.desktop.default.background", file); 192 for (ll = man->containers; ll; ll = ll->next)
193 } 193 {
194 else 194 E_Container *con;
195 cl++; 195
196 } 196 con = ll->data;
197 edje_file_collection_list_free(cl); 197 e_container_bg_reconfigure(con);
198 free(valstr); 198 }
199 free(file); 199 }
200 e_config_save_queue();
200 } 201 }
201 default: 202 default:
202 break; 203 break;