aboutsummaryrefslogtreecommitdiffstats
path: root/include/swaybar/tray/item.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/swaybar/tray/item.h')
-rw-r--r--include/swaybar/tray/item.h45
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
10struct swaybar_output;
11
12struct swaybar_pixmap {
13 int size;
14 unsigned char pixels[];
15};
16
17struct 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
40struct swaybar_sni *create_sni(char *id, struct swaybar_tray *tray);
41void destroy_sni(struct swaybar_sni *sni);
42uint32_t render_sni(cairo_t *cairo, struct swaybar_output *output, double *x,
43 struct swaybar_sni *sni);
44
45#endif