aboutsummaryrefslogtreecommitdiff
path: root/include/swaybar/tray/item.h
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-12-31 15:43:23 -0500
committerGitHub <noreply@github.com>2018-12-31 15:43:23 -0500
commit3d7c20f062bebe39199d3872e5b64d5e8d61d100 (patch)
tree93b8ddb51873cae14db8d5f07db74ca96236f184 /include/swaybar/tray/item.h
parent4a3ada303b948ce2bdf21c7e6254005c85b000ea (diff)
parent9e31f5d79ce9de8f1c73013b792aa94f355a1983 (diff)
Merge pull request #3249 from ianyfan/tray
Swaybar tray
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 @@
+#ifndef _SWAYBAR_TRAY_ITEM_H
+#define _SWAYBAR_TRAY_ITEM_H
+
+#include <cairo.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include "swaybar/tray/tray.h"
+#include "list.h"
+
+struct swaybar_output;
+
+struct swaybar_pixmap {
+ int size;
+ unsigned char pixels[];
+};
+
+struct swaybar_sni {
+ // icon properties
+ struct swaybar_tray *tray;
+ cairo_surface_t *icon;
+ int min_size;
+ int max_size;
+
+ // dbus properties
+ char *watcher_id;
+ char *service;
+ char *path;
+ char *interface;
+
+ char *status;
+ char *icon_name;
+ list_t *icon_pixmap; // struct swaybar_pixmap *
+ char *attention_icon_name;
+ list_t *attention_icon_pixmap; // struct swaybar_pixmap *
+ bool item_is_menu;
+ char *menu;
+ char *icon_theme_path; // non-standard KDE property
+};
+
+struct swaybar_sni *create_sni(char *id, struct swaybar_tray *tray);
+void destroy_sni(struct swaybar_sni *sni);
+uint32_t render_sni(cairo_t *cairo, struct swaybar_output *output, double *x,
+ struct swaybar_sni *sni);
+
+#endif