Enlightenment CVS committal Author : rephorm Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_bg.c e_int_config_wallpaper.c Log Message: fix wallpaper setting by screen correct wallpaper is now found if "this screen" AND "this desktop" have been set (in that order) =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_bg.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- e_bg.c 9 Oct 2006 19:06:43 -0000 1.20 +++ e_bg.c 16 Oct 2006 04:52:31 -0000 1.21 @@ -14,22 +14,35 @@ { Evas_List *l, *ll, *entries; int ok; + int current_spec; const char *bgfile = ""; if (!zone) zone = e_zone_current_get(e_container_current_get(e_manager_current_get())); ok = 0; + current_spec = 0; /* how specific the setting is - we want the least general one that applies */ + /* look for desk specific background. if desk is NULL this is skipped */ for (l = e_config->desktop_backgrounds; desk && l; l = l->next) { E_Config_Desktop_Background *cfbg; + int spec; cfbg = l->data; if ((cfbg->container >= 0) && (zone->container->num != cfbg->container)) continue; if ((cfbg->zone >= 0) && (zone->num != cfbg->zone)) continue; if ((cfbg->desk_x >= 0) && (cfbg->desk_x != desk->x)) continue; if ((cfbg->desk_y >= 0) && (cfbg->desk_y != desk->y)) continue; + + spec = 0; + if (cfbg->container >= 0) spec++; + if (cfbg->zone >= 0) spec++; + if (cfbg->desk_x >= 0) spec++; + if (cfbg->desk_y >= 0) spec++; + + if (spec <= current_spec) continue; + entries = edje_file_collection_list(cfbg->file); if (entries) { @@ -38,13 +51,12 @@ if (!strcmp(ll->data, "e/desktop/background")) { bgfile = cfbg->file; + current_spec = spec; ok = 1; - break; } } edje_file_collection_list_free(entries); } - break; } /* fall back to default bg for zone */ if (!ok) =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_wallpaper.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- e_int_config_wallpaper.c 8 Oct 2006 08:04:17 -0000 1.18 +++ e_int_config_wallpaper.c 16 Oct 2006 04:52:31 -0000 1.19 @@ -716,16 +716,9 @@ cfbg = l->data; if ( - (((cfbg->container == z->container->num) || - (cfbg->container < 0)) && - ((cfbg->zone == 0) || - (cfbg->zone < 0))) - || - (((cfbg->zone == z->num) || - (cfbg->zone < 0)) && - ((cfbg->container == 0) || - (cfbg->container < 0))) - ) + (cfbg->container == z->container->num) && + (cfbg->zone == z->num) + ) fl = evas_list_append(fl, cfbg); } while (fl) ------------------------------------------------------------------------- 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