diff options
Diffstat (limited to 'include/swaybar/tray/item.h')
-rw-r--r-- | include/swaybar/tray/item.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/include/swaybar/tray/item.h b/include/swaybar/tray/item.h new file mode 100644 index 00000000..9bba7951 --- /dev/null +++ b/include/swaybar/tray/item.h | |||
@@ -0,0 +1,45 @@ | |||
1 | #ifndef _SWAYBAR_TRAY_ITEM_H | ||
2 | #define _SWAYBAR_TRAY_ITEM_H | ||
3 | |||
4 | #include <cairo.h> | ||
5 | #include <stdbool.h> | ||
6 | #include <stdint.h> | ||
7 | #include "swaybar/tray/tray.h" | ||
8 | #include "list.h" | ||
9 | |||
10 | struct swaybar_output; | ||
11 | |||
12 | struct swaybar_pixmap { | ||
13 | int size; | ||
14 | unsigned char pixels[]; | ||
15 | }; | ||
16 | |||
17 | struct swaybar_sni { | ||
18 | // icon properties | ||
19 | struct swaybar_tray *tray; | ||
20 | cairo_surface_t *icon; | ||
21 | int min_size; | ||
22 | int max_size; | ||
23 | |||
24 | // dbus properties | ||
25 | char *watcher_id; | ||
26 | char *service; | ||
27 | char *path; | ||
28 | char *interface; | ||
29 | |||
30 | char *status; | ||
31 | char *icon_name; | ||
32 | list_t *icon_pixmap; // struct swaybar_pixmap * | ||
33 | char *attention_icon_name; | ||
34 | list_t *attention_icon_pixmap; // struct swaybar_pixmap * | ||
35 | bool item_is_menu; | ||
36 | char *menu; | ||
37 | char *icon_theme_path; // non-standard KDE property | ||
38 | }; | ||
39 | |||
40 | struct swaybar_sni *create_sni(char *id, struct swaybar_tray *tray); | ||
41 | void destroy_sni(struct swaybar_sni *sni); | ||
42 | uint32_t render_sni(cairo_t *cairo, struct swaybar_output *output, double *x, | ||
43 | struct swaybar_sni *sni); | ||
44 | |||
45 | #endif | ||