Propagate Layer changes via Style command on-the-fly.
[fvwm.git] / modules / FvwmProxy / FvwmProxy.h
blobbeb38088fdcd827b13ca22f390f60767417e18ad
1 /* -*-c-*- */
2 /* vim: set ts=8 shiftwidth=8: */
4 #ifndef FvwmProxy_h
5 #define FvwmProxy_h
7 /* TODO check what headers we really need */
8 #include <stdio.h>
9 #include <signal.h>
10 #include <fcntl.h>
11 #include <sys/wait.h>
12 #include <ctype.h>
14 #include <X11/Xlib.h>
15 #include <X11/Xutil.h>
16 #include <X11/Xproto.h>
17 #include <X11/Xatom.h>
18 #include <X11/Intrinsic.h>
19 #include <X11/keysym.h>
20 #include <X11/cursorfont.h>
22 #include "libs/Module.h"
23 #include "libs/fvwmlib.h"
24 #include "libs/Colorset.h"
25 #include "libs/fvwmsignal.h"
26 #include "fvwm/fvwm.h"
27 #include "libs/vpacket.h"
28 #include "libs/PictureBase.h"
30 typedef struct sWindowName
32 char *name;
33 struct sWindowName *next;
34 struct
36 unsigned soft_raise : 2;
37 unsigned pad0 : 2;
38 unsigned hard_raise : 2;
39 unsigned pad1 : 2;
41 unsigned soft_desk : 2;
42 unsigned pad2 : 2;
43 unsigned hard_desk : 2;
44 unsigned pad3 : 2;
46 unsigned soft_drag : 2;
47 unsigned pad4 : 2;
48 unsigned hard_drag : 2;
49 unsigned pad5 : 2;
51 unsigned soft_icon : 2;
52 unsigned pad6 : 2;
53 unsigned hard_icon : 2;
54 unsigned pad7 : 2;
56 unsigned pad8 : 4;
58 unsigned is_soft : 1;
59 unsigned pad9 : 4;
61 unsigned is_weak : 1;
62 } flags;
63 } WindowName;
65 typedef struct sProxyGroup
67 char *name;
68 WindowName *includes;
69 WindowName *excludes;
70 struct sProxyGroup *next;
71 struct
74 unsigned soft_raise : 2;
75 unsigned pad0 : 2;
76 unsigned hard_raise : 2;
77 unsigned pad1 : 2;
79 unsigned soft_desk : 2;
80 unsigned pad2 : 2;
81 unsigned hard_desk : 2;
82 unsigned pad3 : 2;
84 unsigned soft_drag : 2;
85 unsigned pad4 : 2;
86 unsigned hard_drag : 2;
87 unsigned pad5 : 2;
89 unsigned soft_icon : 2;
90 unsigned pad6 : 2;
91 unsigned hard_icon : 2;
92 unsigned pad7 : 2;
94 unsigned pad8 : 4;
96 unsigned auto_include : 1;
97 unsigned pad9 : 3;
99 unsigned auto_soft : 1;
100 unsigned pad10 : 3;
102 unsigned isolated : 1;
103 unsigned pad11 : 3;
105 unsigned ignore_ids : 1;
106 } flags;
107 } ProxyGroup;
109 typedef struct sGeometryStamp
111 int x,y;
112 int w,h;
113 Window window;
114 } GeometryStamp;
116 typedef struct sProxyWindow
118 Window window;
119 int leader;
120 int pid;
121 int ppid;
122 int x,y;
123 int w,h;
124 int border_width;
125 int title_height;
126 int goal_width;
127 int goal_height;
128 int incx,incy;
129 int desk;
130 int stack;
131 int stack_desired;
132 int stack_tmp;
133 int group;
134 ProxyGroup *proxy_group;
135 Window proxy;
136 int proxyx,proxyy;
137 int proxyw,proxyh;
138 int tweakx,tweaky;
139 int pending_config;
140 int raised;
141 FvwmPicture picture;
142 char *name;
143 char *iconname;
144 struct sProxyWindow *next;
145 struct sProxyWindow *prev;
146 struct
148 unsigned is_shown : 1;
149 unsigned is_iconified : 1;
150 unsigned is_soft : 1;
151 unsigned is_isolated : 1;
152 } flags;
153 } ProxyWindow;
155 #endif /* FvwmProxy_h */