]> Dogcows Code - chaz/tint2/blobdiff - src/systray/systraybar.h
fixed issue 135
[chaz/tint2] / src / systray / systraybar.h
index dbe3fbee46671e12d6ddf12ba91362e7a086b30c..0ee61ed9362018ad38bfaa2a8c7bf68d9e01454f 100644 (file)
@@ -2,7 +2,8 @@
 * Copyright (C) 2009 thierry lorthiois (lorthiois@bbsoft.fr)
 *
 * systraybar
-* based on 'docker-1.5' from Ben Jansens.
+* systray implementation come from 'docker-1.5' by Ben Jansens,
+* and from systray/xembed specification (freedesktop.org).
 *
 **************************************************************************/
 
 #include "common.h"
 #include "area.h"
 
+// XEMBED messages
+#define XEMBED_EMBEDDED_NOTIFY         0
+// Flags for _XEMBED_INFO
+#define XEMBED_MAPPED          (1 << 0)
+
 
 typedef struct {
-   // always start with area
-   Area area;
+       // always start with area
+       Area area;
 
        GSList *list_icons;
+       int sort;
 } Systraybar;
 
 
 typedef struct
 {
-   Window id;
-   int x, y;
-   int width, height;
-
-   long *icon_data;
+       Window id;
+       int x, y;
+       int width, height;
+       int hide;
 } TrayWindow;
 
 
@@ -38,18 +44,22 @@ extern int refresh_systray;
 
 void init_systray();
 void cleanup_systray();
+void draw_systray(void *obj, cairo_t *c, int active);
+void 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 net_message(XClientMessageEvent *e);
 
+gboolean add_icon(Window id);
 void remove_icon(TrayWindow *traywin);
 
-void draw_systray(void *obj, cairo_t *c, int active);
-
-void resize_systray(void *obj);
-
 void refresh_systray_icon();
 
+void kde_update_icons();
+
 #endif
 
This page took 0.021217 seconds and 4 git commands to generate.