dat.h (1104B)
1 #include <fmt.h> 2 #include <stdarg.h> 3 #include <stdbool.h> 4 #include <stdlib.h> 5 #include <unistd.h> 6 #include <ixp.h> 7 #include <stuff/x.h> 8 #include <stuff/util.h> 9 #include "selection.h" 10 11 #ifndef EXTERN 12 # define EXTERN extern 13 #endif 14 15 enum { OAuto, OHorizontal, OVertical }; 16 17 enum XEmbedFlags { 18 XEmbedMapped = (1 << 0), 19 }; 20 21 enum TrayOpcodes { 22 TrayRequestDock, 23 TrayBeginMessage, 24 TrayCancelMessage, 25 }; 26 27 typedef struct Client Client; 28 typedef struct Message Message; 29 typedef struct XEmbed XEmbed; 30 31 struct Client { 32 Client* next; 33 XEmbed* xembed; 34 Window w; 35 Window* indicator; 36 Message* message; 37 }; 38 39 struct Message { 40 Message* next; 41 long id; 42 ulong timeout; 43 IxpMsg msg; 44 }; 45 46 struct XEmbed { 47 Window* w; 48 Window* owner; 49 void (*cleanup)(XEmbed*); 50 int version; 51 ulong flags; 52 }; 53 54 EXTERN IxpServer srv; 55 EXTERN char** program_args; 56 EXTERN int debug; 57 58 EXTERN struct { 59 Window* win; 60 Image* pixmap; 61 Client* clients; 62 Selection* selection; 63 char* tags; 64 Rectangle r; 65 ulong iconsize; 66 ulong padding; 67 long edge; 68 int orientation; 69 Font* font; 70 CTuple selcolors; 71 CTuple normcolors; 72 } tray; 73