+typedef struct
+{
+ Window id;
+ Window tray_id;
+ int x, y;
+ int width, height;
+ // TODO: manage icon's show/hide
+ int hide;
+ int depth;
+ Damage damage;
+ timeout* render_timeout;
+} TrayWindow;
+
+
+// net_sel_win != None when protocol started
+extern Window net_sel_win;
+extern Systraybar systray;
+extern int refresh_systray;
+extern int systray_enabled;
+extern int systray_max_icon_size;
+
+// default global data
+void default_systray();
+
+// freed memory
+void cleanup_systray();
+
+// initialize protocol and panel position
+void init_systray();
+void init_systray_panel(void *p);
+
+void draw_systray(void *obj, cairo_t *c);
+int resize_systray(void *obj);
+void on_change_systray(void *obj);