bar_systray.h (1157B)
1 #define SYSTEM_TRAY_REQUEST_DOCK 0 2 #define _NET_SYSTEM_TRAY_ORIENTATION_HORZ 0 3 4 /* XEMBED messages */ 5 #define XEMBED_EMBEDDED_NOTIFY 0 6 #define XEMBED_WINDOW_ACTIVATE 1 7 #define XEMBED_FOCUS_IN 4 8 #define XEMBED_MODALITY_ON 10 9 10 #define XEMBED_MAPPED (1 << 0) 11 #define XEMBED_WINDOW_ACTIVATE 1 12 #define XEMBED_WINDOW_DEACTIVATE 2 13 14 #define VERSION_MAJOR 0 15 #define VERSION_MINOR 0 16 #define XEMBED_EMBEDDED_VERSION (VERSION_MAJOR << 16) | VERSION_MINOR 17 18 /* enums */ 19 enum { Manager, Xembed, XembedInfo, XLast }; /* Xembed atoms */ 20 21 typedef struct Systray Systray; 22 struct Systray { 23 Window win; 24 Client *icons; 25 Bar *bar; 26 int h; 27 }; 28 29 /* bar integration */ 30 static int width_systray(Bar *bar, BarArg *a); 31 static int draw_systray(Bar *bar, BarArg *a); 32 static int click_systray(Bar *bar, Arg *arg, BarArg *a); 33 34 /* function declarations */ 35 static void removesystrayicon(Client *i); 36 static void resizerequest(XEvent *e); 37 static void updatesystrayicongeom(Client *i, int w, int h); 38 static void updatesystrayiconstate(Client *i, XPropertyEvent *ev); 39 static Client *wintosystrayicon(Window w); 40 41