]> icculus.org git repositories - mikachu/rspanel.git/blob - rspanel.h
only allow including rspanel.h once
[mikachu/rspanel.git] / rspanel.h
1 #ifndef rs_rspanel_h
2 #define rs_rspanel_h
3
4 typedef struct icon
5 {
6         unsigned int width;
7         unsigned int height;
8         RrPixel32 *data;
9 }
10 icon;
11
12 typedef struct task
13 {
14         struct task *next;
15         Window win;
16         char *name;
17 //      char *locale;
18         int pos_x;
19         unsigned int width;
20         unsigned int nicons;
21         icon *icons;
22         unsigned int focused:1;
23         unsigned int iconified:1;
24         unsigned int shaded:1;
25         unsigned int hidden:1;
26         unsigned int icon_copied:1;
27 }
28 task;
29
30 typedef struct taskbar
31 {
32         Window win;
33         task *task_list;
34         int num_shown_tasks;
35         int my_desktop;
36         int x;
37         int y;
38         unsigned int hidden:1;
39         unsigned int at_top:1;
40 }
41 taskbar;
42
43 #define MWM_HINTS_DECORATIONS         (1L << 1)
44 typedef struct _mwmhints
45 {
46         unsigned long flags;
47         unsigned long functions;
48         unsigned long decorations;
49         long inputMode;
50         unsigned long status;
51 }
52 MWMHints;
53
54 #define WIN_STATE_STICKY          (1<<0)        /* everyone knows sticky */
55 #define WIN_STATE_MINIMIZED       (1<<1)        /* ??? */
56 #define WIN_STATE_MAXIMIZED_VERT  (1<<2)        /* window in maximized V state */
57 #define WIN_STATE_MAXIMIZED_HORIZ (1<<3)        /* window in maximized H state */
58 #define WIN_STATE_HIDDEN          (1<<4)        /* not on taskbar but window visible */
59 #define WIN_STATE_SHADED          (1<<5)        /* shaded (NeXT style) */
60 #define WIN_STATE_HID_WORKSPACE   (1<<6)        /* not on current desktop */
61 #define WIN_STATE_HID_TRANSIENT   (1<<7)        /* owner of transient is hidden */
62 #define WIN_STATE_FIXED_POSITION  (1<<8)        /* window is fixed in position even */
63 #define WIN_STATE_ARRANGE_IGNORE  (1<<9)        /* ignore for auto arranging */
64
65 #define WIN_HINTS_SKIP_FOCUS      (1<<0)        /* "alt-tab" skips this win */
66 #define WIN_HINTS_SKIP_WINLIST    (1<<1)        /* not in win list */
67 #define WIN_HINTS_SKIP_TASKBAR    (1<<2)        /* not on taskbar */
68 #define WIN_HINTS_GROUP_TRANSIENT (1<<3)        /* ??????? */
69 #define WIN_HINTS_FOCUS_ON_CLICK  (1<<4)        /* app only accepts focus when clicked */
70 #define WIN_HINTS_DO_NOT_COVER    (1<<5)        /* attempt to not cover this window */
71
72 #endif