if (!strcmp(app->name, client->name)) {
ob_debug("Window matching: %s\n", app->name);
-
- return app;
+ if (!app->role || !strcmp(app->role, client->role))
+ return app;
}
a = a->next;
xmlNodePtr n, c;
ObAppSettings *settings = g_new0(ObAppSettings, 1);
settings->name = name;
+ if (!parse_attr_string("role", app, &settings->role))
+ settings->role = NULL;
settings->decor = TRUE;
if ((n = parse_find_node("decor", app->children)))
g_free(it->data);
g_slist_free(config_menu_files);
- for (it = config_per_app_settings; it; it = g_slist_next(it))
+ for (it = config_per_app_settings; it; it = g_slist_next(it)) {
+ ObAppSettings *itd = (ObAppSettings *)it->data;
+ g_free(itd->name);
+ g_free(itd->role);
g_free(it->data);
+ }
g_slist_free(config_per_app_settings);
}