611c1dcd7825197a254451399671c7654caaef24
[mikachu/rspanel.git] / rspanel.h
1 #ifndef rs_rspanel_h
2 #define rs_rspanel_h
3
4 #include "xprop.h"
5
6 #include <X11/Xlib.h>
7 #include <openbox/render.h>
8 #include <openbox/theme.h>
9
10 struct icon;
11
12 typedef struct screen
13 {
14     Display    *dd;
15     int         num;
16     int         width;
17     int         height;
18     Window      root;
19     RrInstance *rr;
20     RrTheme    *theme;              /* setup by gui_init */
21     Atom        atoms[XPROP_COUNT]; /* setup by xprop_init */
22     GC          fore_gc;            /* setup by gui_init */
23 }
24 screen;
25
26 typedef struct task
27 {
28         struct task *next;
29         Window win;
30         char *name;
31 //      char *locale;
32         int pos_x;
33         unsigned int width;
34         unsigned int nicons;
35         struct icon *icons;
36         unsigned int focused:1;
37         unsigned int iconified:1;
38         unsigned int shaded:1;
39         unsigned int hidden:1;
40         unsigned int icon_copied:1;
41 }
42 task;
43
44 typedef struct taskbar
45 {
46         Window win;
47         /* we draw stuff to this guy then set him as a window
48          * background pixmap, yay no flickering! */
49         Pixmap bg;
50         task *task_list;
51         int num_shown_tasks;
52         int my_desktop;
53         int x;
54         int y;
55         int w;
56         int h;
57         unsigned int hidden:1;
58         unsigned int at_top:1;
59 }
60 taskbar;
61
62 int task_shown(task *tk);
63
64 #endif