add: if (strcmp(entry->key, "WorkspaceSpecificBack") == 0 && !scr->flags.backimage_helper_launched) { update_workspace_back = 1; }
context: wReadDefaults(WScreen *scr, proplist_t new_dict){    proplist_t plvalue, old_value;    WDefaultEntry *entry;    int i, must_update;    int needs_refresh;    void *tdata;    proplist_t old_dict = (WDWindowMaker->dictionary!=new_dict 			   ? WDWindowMaker->dictionary : NULL);        must_update = 0;        needs_refresh = 0;        for (i=0; i<sizeof(optionList)/sizeof(WDefaultEntry); i++) {	entry = &optionList[i];		if (new_dict)	    plvalue = PLGetDictionaryEntry(new_dict, entry->plkey);	else	    plvalue = NULL;	if (!old_dict)	    old_value = NULL;	else	    old_value = PLGetDictionaryEntry(old_dict, entry->plkey);		if (!plvalue && !old_value) {	    /* no default in  the DB. Use builtin default */	    plvalue = entry->plvalue;	    if (plvalue && new_dict) {		PLInsertDictionaryEntry(new_dict, entry->plkey, plvalue);		must_update = 1;	    }	} else if (!plvalue) {	    /* value was deleted from DB. Keep current value */	    continue;	} else if (!old_value) {	    /* set value for the 1st time */	} else if (!PLIsEqual(plvalue, old_value)) {	    	    /* value has changed */	} else {	    /* value was not changed since last time */	    continue;	}		if (plvalue) {#ifdef DEBUG	    printf("Updating %s to %s\n", entry->key, PLGetDescription(plvalue));#endif	    /* convert data */	    if ((*entry->convert)(scr, entry, plvalue, entry->addr, &tdata)) {		if (entry->update) {		    needs_refresh |= 			(*entry->update)(scr, entry, tdata, entry->extra_data);		}	    }	}    }    if (needs_refresh!=0 && !scr->flags.startup) {	int foo;	foo = 0;	if (needs_refresh & REFRESH_MENU_TITLE_TEXTURE)	    foo |= WTextureSettings;	if (needs_refresh & REFRESH_MENU_TITLE_FONT)	    foo |= WFontSettings;	if (needs_refresh & REFRESH_MENU_TITLE_COLOR)	    foo |= WColorSettings;        if (foo)	    WMPostNotificationName(WNMenuTitleAppearanceSettingsChanged, NULL,				   (void*)foo);	foo = 0;	if (needs_refresh & REFRESH_MENU_TEXTURE)	    foo |= WTextureSettings;	if (needs_refresh & REFRESH_MENU_FONT)	    foo |= WFontSettings;	if (needs_refresh & REFRESH_MENU_COLOR)	    foo |= WColorSettings;        if (foo)	    WMPostNotificationName(WNMenuAppearanceSettingsChanged, NULL,				   (void*)foo);	foo = 0;        if (needs_refresh & REFRESH_WINDOW_FONT) {	    foo |= WFontSettings;	}	if (needs_refresh & REFRESH_WINDOW_TEXTURES) {	    foo |= WTextureSettings;	}	if (needs_refresh & REFRESH_WINDOW_TITLE_COLOR) {	    foo |= WColorSettings;	}	if (foo)	    WMPostNotificationName(WNWindowAppearanceSettingsChanged, NULL,				   (void*)foo);	if (!(needs_refresh & REFRESH_ICON_TILE)) {	    foo = 0;	    if (needs_refresh & REFRESH_ICON_FONT) {		foo |= WFontSettings;	    }	    if (needs_refresh & REFRESH_ICON_TITLE_COLOR) {		foo |= WTextureSettings;	    }	    if (needs_refresh & REFRESH_ICON_TITLE_BACK) {		foo |= WTextureSettings;	    }	    if (foo)		WMPostNotificationName(WNIconAppearanceSettingsChanged, NULL,				       (void*)foo);	}        if (needs_refresh & REFRESH_ICON_TILE)	    WMPostNotificationName(WNIconTileSettingsChanged, NULL,  NULL);    }}