]> icculus.org git repositories - mikachu/rspanel.git/blob - rspanel.h
only show normal,dialog, and utility windows
[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         xprop_t type;
36         struct icon *icons;
37         unsigned int focused:1;
38         unsigned int iconified:1;
39         unsigned int shaded:1;
40         unsigned int hidden:1;
41         unsigned int icon_copied:1;
42 }
43 task;
44
45 typedef struct taskbar
46 {
47         Window win;
48         Window bgwin;
49         /* we draw stuff to this guy then set him as a window
50          * background pixmap, yay no flickering! */
51         Pixmap bg;
52         task *task_list;
53         int num_shown_tasks;
54         int my_desktop;
55         int x;
56         int y;
57         int w;
58         int h;
59         int draww;
60         int drawh;
61         unsigned int hidden:1;
62         unsigned int at_top:1;
63 }
64 taskbar;
65
66 int task_shown(task *tk);
67
68 #endif