mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
Add <theme><fallbackAppIcon>
This commit adds <theme><fallbackAppIcon> that configures the icon name to be used when lookups for an application icon is failed. Its default value is set as 'labwc' which shows our labwc logo.
This commit is contained in:
parent
dc474521ab
commit
26064fb8f6
5 changed files with 19 additions and 0 deletions
|
|
@ -483,6 +483,12 @@ extending outward from the snapped edge.
|
|||
*<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:
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
<theme>
|
||||
<name></name>
|
||||
<icon></icon>
|
||||
<fallbackAppIcon>labwc</fallbackAppIcon>
|
||||
<titlebar>
|
||||
<layout>icon:iconify,max,close</layout>
|
||||
<showTitle>yes</showTitle>
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ struct rcxml {
|
|||
/* theme */
|
||||
char *theme_name;
|
||||
char *icon_theme_name;
|
||||
char *fallback_app_icon_name;
|
||||
struct wl_list title_buttons_left;
|
||||
struct wl_list title_buttons_right;
|
||||
int corner_radius;
|
||||
|
|
|
|||
|
|
@ -27,6 +27,10 @@ _create_buffer(struct scaled_scene_buffer *scaled_buffer, double scale)
|
|||
} 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) {
|
||||
|
|
|
|||
|
|
@ -1073,6 +1073,8 @@ entry(xmlNode *node, char *nodename, char *content)
|
|||
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")) {
|
||||
|
|
@ -1677,6 +1679,10 @@ post_processing(void)
|
|||
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");
|
||||
|
|
@ -1928,6 +1934,7 @@ rcxml_finish(void)
|
|||
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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue