aboutsummaryrefslogtreecommitdiff
path: root/swaybar/tray
diff options
context:
space:
mode:
authorBen Brown <benjamb@pm.me>2019-09-02 15:57:51 +0100
committerBrian Ashworth <bosrsf04@gmail.com>2019-09-04 03:32:45 -0400
commit0ad5e355bd8c5035f9219aa068418c38a6bbd4b8 (patch)
tree564e4b07c29470c9d91006af06ec759c3c33dc79 /swaybar/tray
parent42a7860dcfa932f887bc10d5250257d26dcdb32f (diff)
Add icon_theme_path to find_icon() search if set
find_icon() will search in theme appropriate subdirs.
Diffstat (limited to 'swaybar/tray')
-rw-r--r--swaybar/tray/item.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/swaybar/tray/item.c b/swaybar/tray/item.c
index 027b3001..c8fcd382 100644
--- a/swaybar/tray/item.c
+++ b/swaybar/tray/item.c
@@ -411,9 +411,15 @@ uint32_t render_sni(cairo_t *cairo, struct swaybar_output *output, double *x,
char *icon_name = sni->status[0] == 'N' ?
sni->attention_icon_name : sni->icon_name;
if (icon_name) {
- char *icon_path = find_icon(sni->tray->themes, sni->tray->basedirs,
+ list_t *icon_search_paths = create_list();
+ list_cat(icon_search_paths, sni->tray->basedirs);
+ if (sni->icon_theme_path) {
+ list_add(icon_search_paths, sni->icon_theme_path);
+ }
+ char *icon_path = find_icon(sni->tray->themes, icon_search_paths,
icon_name, ideal_size, output->bar->config->icon_theme,
&sni->min_size, &sni->max_size);
+ list_free(icon_search_paths);
if (!icon_path && sni->icon_theme_path) {
icon_path = find_icon_in_dir(icon_name, sni->icon_theme_path,
&sni->min_size, &sni->max_size);