X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fsystray%2Fsystraybar.h;h=dd5e08dd8c9b9c5793590c153fde86d47346a8ee;hb=2fd9e91579d04f8eeadea8a1584b2d994626a8f1;hp=778b89261e883224372fce672b8dee9522bcc0ba;hpb=3083e8006371cfb4a454b8bce92a682e4bb87e50;p=chaz%2Ftint2 diff --git a/src/systray/systraybar.h b/src/systray/systraybar.h index 778b892..dd5e08d 100644 --- a/src/systray/systraybar.h +++ b/src/systray/systraybar.h @@ -12,6 +12,8 @@ #include "common.h" #include "area.h" +#include "timer.h" +#include // XEMBED messages #define XEMBED_EMBEDDED_NOTIFY 0 @@ -25,42 +27,57 @@ 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; +// 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 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); // systray protocol // many tray icon doesn't manage stop/restart of the systray manager -int init_net(); -void cleanup_net(); +void start_net(); +void stop_net(); void net_message(XClientMessageEvent *e); 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