add: if (!PLGetDictionaryEntry(style, PLMakeString("AlternativeMenuStyle"))) { PLInsertDictionaryEntry(style, PLMakeString("AlternativeMenuStyle"), PLMakeString("NO")); }
context: hackStyle(proplist_t style){    proplist_t keys;    proplist_t tmp;    int i;    int foundIconTitle = 0;    keys = PLGetAllDictionaryKeys(style);    for (i = 0; i < PLGetNumberOfElements(keys); i++) {	char *str;	tmp = PLGetArrayElement(keys, i);	str = PLGetString(tmp);	if (str) {	    int j, found;	    if (ignoreFonts) {		for (j = 0, found = 0; FontOptions[j]!=NULL; j++) {		    if (strcasecmp(str, FontOptions[j])==0) {			PLRemoveDictionaryEntry(style, tmp);			found = 1;			break;		    }		} 		if (found)		    continue;	    }	    if (strcasecmp(str, "IconTitleColor")==0		|| strcasecmp(str, "IconTitleBack")==0) {		foundIconTitle = 1;	    }	}    }    if (!foundIconTitle) {	/* set the default values */	tmp = PLGetDictionaryEntry(style, PLMakeString("FTitleColor"));	if (tmp) {	    PLInsertDictionaryEntry(style, PLMakeString("IconTitleColor"),				    tmp);	}	tmp = PLGetDictionaryEntry(style, PLMakeString("FTitleBack"));	if (tmp) {	    proplist_t type;	    proplist_t value;	    char *str;	    	    type = PLGetArrayElement(tmp, 0);	    if (!type)		return;	    value = NULL;	    	    str = PLGetString(type);	    if (strcasecmp(str, "solid")==0) {		value = PLGetArrayElement(tmp, 1);	    } else if (strcasecmp(str, "dgradient")==0		       || strcasecmp(str, "hgradient")==0		       || strcasecmp(str, "vgradient")==0) {		proplist_t c1, c2;		int r1, g1, b1, r2, g2, b2;		char buffer[32];		c1 = PLGetArrayElement(tmp, 1);		c2 = PLGetArrayElement(tmp, 2);		if (sscanf(PLGetString(c1), "#%2x%2x%2x", &r1, &g1, &b1)==3		    && sscanf(PLGetString(c2), "#%2x%2x%2x", &r2, &g2, &b2)==3) {		    sprintf(buffer, "#%2x%2x%2x", (r1+r2)/2, (g1+g2)/2,			    (b1+b2)/2);		    value = PLMakeString(buffer);		} else {		    value = c1;		}	    } else if (strcasecmp(str, "mdgradient")==0		       || strcasecmp(str, "mhgradient")==0		       || strcasecmp(str, "mvgradient")==0) {		value = PLGetArrayElement(tmp, 1);	    } else if (strcasecmp(str, "tpixmap")==0		       || strcasecmp(str, "cpixmap")==0		       || strcasecmp(str, "spixmap")==0) {		value = PLGetArrayElement(tmp, 2);	    }	    if (value) {		PLInsertDictionaryEntry(style, PLMakeString("IconTitleBack"),					value);	    }	}    }}