]> icculus.org git repositories - mikachu/rspanel.git/blob - rspanel.h
move around code like crazy, into icon.c gui.c xprop.c. it still needs work but...
[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
9 struct icon;
10
11 typedef struct screen
12 {
13     Display    *dd;
14     int         num;
15     int         width;
16     int         height;
17     Window      root;
18     RrInstance *rr;
19     Atom        atoms[XPROP_COUNT];
20 }
21 screen;
22
23 typedef struct task
24 {
25         struct task *next;
26         Window win;
27         char *name;
28 //      char *locale;
29         int pos_x;
30         unsigned int width;
31         unsigned int nicons;
32         struct icon *icons;
33         unsigned int focused:1;
34         unsigned int iconified:1;
35         unsigned int shaded:1;
36         unsigned int hidden:1;
37         unsigned int icon_copied:1;
38 }
39 task;
40
41 typedef struct taskbar
42 {
43         Window win;
44         task *task_list;
45         int num_shown_tasks;
46         int my_desktop;
47         int x;
48         int y;
49         int w;
50         int h;
51         unsigned int hidden:1;
52         unsigned int at_top:1;
53 }
54 taskbar;
55
56 #define MWM_HINTS_DECORATIONS         (1L << 1)
57 typedef struct _mwmhints
58 {
59         unsigned long flags;
60         unsigned long functions;
61         unsigned long decorations;
62         long inputMode;
63         unsigned long status;
64 }
65 MWMHints;
66
67 #define WIN_STATE_STICKY          (1<<0)        /* everyone knows sticky */
68 #define WIN_STATE_MINIMIZED       (1<<1)        /* ??? */
69 #define WIN_STATE_MAXIMIZED_VERT  (1<<2)        /* window in maximized V state */
70 #define WIN_STATE_MAXIMIZED_HORIZ (1<<3)        /* window in maximized H state */
71 #define WIN_STATE_HIDDEN          (1<<4)        /* not on taskbar but window visible */
72 #define WIN_STATE_SHADED          (1<<5)        /* shaded (NeXT style) */
73 #define WIN_STATE_HID_WORKSPACE   (1<<6)        /* not on current desktop */
74 #define WIN_STATE_HID_TRANSIENT   (1<<7)        /* owner of transient is hidden */
75 #define WIN_STATE_FIXED_POSITION  (1<<8)        /* window is fixed in position even */
76 #define WIN_STATE_ARRANGE_IGNORE  (1<<9)        /* ignore for auto arranging */
77
78 #define WIN_HINTS_SKIP_FOCUS      (1<<0)        /* "alt-tab" skips this win */
79 #define WIN_HINTS_SKIP_WINLIST    (1<<1)        /* not in win list */
80 #define WIN_HINTS_SKIP_TASKBAR    (1<<2)        /* not on taskbar */
81 #define WIN_HINTS_GROUP_TRANSIENT (1<<3)        /* ??????? */
82 #define WIN_HINTS_FOCUS_ON_CLICK  (1<<4)        /* app only accepts focus when clicked */
83 #define WIN_HINTS_DO_NOT_COVER    (1<<5)        /* attempt to not cover this window */
84
85 int task_shown(task *tk);
86
87 #endif