]> Dogcows Code - chaz/tint2/blobdiff - src/systray/systraybar.h
rendering engine : _on_change_layout() called when pos/size changed
[chaz/tint2] / src / systray / systraybar.h
index 9e3b99012c4a5ac073692e22ef7ac2c78a68d1df..d3f5a7213ee1edb5a95c153cacc58b03f345833a 100644 (file)
@@ -12,6 +12,8 @@
 
 #include "common.h"
 #include "area.h"
+#include "timer.h"
+#include <X11/extensions/Xdamage.h>
 
 // XEMBED messages
 #define XEMBED_EMBEDDED_NOTIFY         0
@@ -25,16 +27,22 @@ typedef struct {
 
        GSList *list_icons;
        int sort;
+       int alpha, saturation, brightness;
+       int icon_size, icons_per_column, icons_per_row, marging;
 } Systraybar;
 
 
 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;
 
 
@@ -43,12 +51,21 @@ 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 cleanup_systray();
-void draw_systray(void *obj, cairo_t *c, int active);
-void resize_systray(void *obj);
+
+void draw_systray(void *obj, cairo_t *c);
+int  resize_systray(void *obj);
+void on_change_systray(void *obj);
 
 
 // systray protocol
@@ -61,7 +78,7 @@ gboolean add_icon(Window id);
 void remove_icon(TrayWindow *traywin);
 
 void refresh_systray_icon();
-
+void systray_render_icon(TrayWindow* traywin);
 void kde_update_icons();
 
 #endif
This page took 0.027868 seconds and 4 git commands to generate.