*<theme><icon>*
The name of the icon theme to use. It is not set by default.
+*<theme><fallbackAppIcon>*
+ The name of the icon to use as a fallback when the application icon
+ (e.g. window icon in the titlebar) is not available. The name follows
+ the ones specified in "Icon=" entries in desktop files.
+ Default is 'labwc'.
+
*<theme><titlebar><layout>*
Selection and order of buttons in a window's titlebar.
The following identifiers can be used, each only once:
<theme>
<name></name>
<icon></icon>
+ <fallbackAppIcon>labwc</fallbackAppIcon>
<titlebar>
<layout>icon:iconify,max,close</layout>
<showTitle>yes</showTitle>
} else if (self->app_id) {
img = desktop_entry_load_icon_from_app_id(self->server,
self->app_id, icon_size, scale);
+ if (!img) {
+ img = desktop_entry_load_icon(self->server,
+ rc.fallback_app_icon_name, icon_size, scale);
+ }
}
if (!img) {
xstrdup_replace(rc.theme_name, content);
} else if (!strcmp(nodename, "icon.theme")) {
xstrdup_replace(rc.icon_theme_name, content);
+ } else if (!strcasecmp(nodename, "fallbackAppIcon.theme")) {
+ xstrdup_replace(rc.fallback_app_icon_name, content);
} else if (!strcasecmp(nodename, "layout.titlebar.theme")) {
fill_title_layout(content);
} else if (!strcasecmp(nodename, "showTitle.titlebar.theme")) {
load_default_mouse_bindings();
}
+ if (!rc.fallback_app_icon_name) {
+ rc.fallback_app_icon_name = xstrdup("labwc");
+ }
+
if (!rc.title_layout_loaded) {
#if HAVE_LIBSFDO
fill_title_layout("icon:iconify,max,close");
zfree(rc.font_osd.name);
zfree(rc.theme_name);
zfree(rc.icon_theme_name);
+ zfree(rc.fallback_app_icon_name);
zfree(rc.workspace_config.prefix);
zfree(rc.tablet.output_name);