1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-20 04:48:06 +01:00

Added wDefaultPurgeInfo to remove what we stored about a given instance-class couple.

This function is not used for now, but will be for drawers
This commit is contained in:
Daniel Déchelotte
2013-04-12 01:42:39 +02:00
committed by Carlos R. Mafra
parent 9fae35fbc4
commit 95a73e2783
2 changed files with 34 additions and 0 deletions

View File

@@ -54,4 +54,7 @@ char *get_icon_filename(WScreen *scr, char *winstance, char *wclass, char *comma
int wDefaultGetStartWorkspace(WScreen *scr, char *instance, char *class);
void wDefaultChangeIcon(WScreen *scr, char *instance, char* class, char *file);
RImage *get_rimage_from_file(WScreen *scr, char *file_name, int max_size);
void wDefaultPurgeInfo(WScreen *scr, char *instance, char *class);
#endif /* WMDEFAULTS_H_ */

View File

@@ -597,6 +597,37 @@ void wDefaultChangeIcon(WScreen * scr, char *instance, char *class, char *file)
WMPLSetCaseSensitive(False);
}
void wDefaultPurgeInfo(WScreen *scr, char *instance, char *class)
{
WMPropList *value, *key, *dict;
char *buffer;
if (!AIcon) { /* Unnecessary precaution */
init_wdefaults();
}
WMPLSetCaseSensitive(True);
buffer = wmalloc(strlen(class) + strlen(instance) + 2);
sprintf(buffer, "%s.%s", instance, class);
key = WMCreatePLString(buffer);
dict = WMGetFromPLDictionary(WDWindowAttributes->dictionary, key);
if (dict) {
value = WMGetFromPLDictionary(dict, AIcon);
if (value) {
WMRemoveFromPLDictionary(dict, AIcon);
}
WMRemoveFromPLDictionary(WDWindowAttributes->dictionary, key);
UpdateDomainFile(WDWindowAttributes);
}
wfree(buffer);
WMReleasePropList(key);
WMPLSetCaseSensitive(False);
}
/* --------------------------- Local ----------------------- */
static int getBool(WMPropList * key, WMPropList * value)