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