From: Daniel Déchelotte <[email protected]>
This function is not used for now, but will be for drawers
---
src/defaults.h | 3 +++
src/wdefaults.c | 31 +++++++++++++++++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/src/defaults.h b/src/defaults.h
index a2b9f24..2f82fd6 100644
--- a/src/defaults.h
+++ b/src/defaults.h
@@ -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_ */
diff --git a/src/wdefaults.c b/src/wdefaults.c
index 0e7d6cd..ce9af5f 100644
--- a/src/wdefaults.c
+++ b/src/wdefaults.c
@@ -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)
--
1.7.10.4
--
To unsubscribe, send mail to [email protected].