1 #pragma once
2 
3 #include <stdbool.h>
4 
5 #include "application.h"
6 #include "tllist.h"
7 
8 struct icon_dir {
9     char *path;  /* Relative to theme's base path */
10     int size;
11     int min_size;
12     int max_size;
13     int scale;
14     bool scalable;
15 };
16 
17 struct icon_theme {
18     char *name;
19     char *path;
20     tll(struct icon_dir) dirs;
21 };
22 
23 typedef tll(struct icon_theme) icon_theme_list_t;
24 
25 icon_theme_list_t icon_load_theme(const char *name);
26 void icon_themes_destroy(icon_theme_list_t themes);
27 
28 bool icon_reload_application_icons(
29     icon_theme_list_t themes, int icon_size,
30     struct application_list *applications);
31