JWM Source Documentation
hint.h
Go to the documentation of this file.
1 
10 #ifndef HINT_H
11 #define HINT_H
12 
13 struct ClientNode;
14 
16 typedef enum {
17 
18  /* Misc */
23 
24  /* Standard atoms */
31 
32  /* WM Spec atoms */
45 
59 
73 
78 
98 
101 
106 
109 
110  /* MWM atoms */
112 
113  /* JWM-specific atoms. */
121 
123 } AtomType;
124 
125 extern const char jwmRestart[];
126 extern const char jwmExit[];
127 extern const char jwmReload[];
128 extern const char managerProperty[];
129 
130 #define FIRST_NET_ATOM ATOM_NET_SUPPORTED
131 #define LAST_NET_ATOM ATOM_NET_WM_STRUT
132 
133 #define FIRST_MWM_ATOM ATOM_MOTIF_WM_HINTS
134 #define LAST_MWM_ATOM ATOM_MOTIF_WM_HINTS
135 
137 typedef unsigned char WinLayerType;
138 #define LAYER_DESKTOP 0
139 #define LAYER_BELOW 1
140 #define LAYER_NORMAL 2
141 #define LAYER_ABOVE 3
142 #define LAYER_COUNT 4
143 
144 #define FIRST_LAYER LAYER_DESKTOP
145 #define LAST_LAYER LAYER_ABOVE
146 #define DEFAULT_TRAY_LAYER LAYER_ABOVE
147 
149 typedef struct ClientState {
150  unsigned int status;
151  unsigned int opacity;
152  unsigned short border;
153  unsigned short desktop;
154  unsigned char maxFlags;
155  unsigned char layer;
156  unsigned char defaultLayer;
157 } ClientState;
158 
159 extern Atom atoms[ATOM_COUNT];
160 
162 #define InitializeHints() (void)(0)
163 void StartupHints(void);
164 #define ShutdownHints() (void)(0)
165 #define DestroyHints() (void)(0)
166 
169 void ReadCurrentDesktop(void);
170 
175 void ReadClientInfo(struct ClientNode *np, char alreadyMapped);
176 
180 void ReadWMName(struct ClientNode *np);
181 
185 void ReadWMClass(struct ClientNode *np);
186 
190 void ReadWMNormalHints(struct ClientNode *np);
191 
196 void ReadWMProtocols(Window w, ClientState *state);
197 
201 void ReadWMColormaps(struct ClientNode *np);
202 
206 void ReadWinLayer(struct ClientNode *np);
207 
213 ClientState ReadWindowState(Window win, char alreadyMapped);
214 
220 void ReadWMHints(Window win, ClientState *state, char alreadyMapped);
221 
226 void ReadWMOpacity(Window win, unsigned *opacity);
227 
232 void WriteState(struct ClientNode *np);
233 
237 void WriteNetState(struct ClientNode *np);
238 
244 void SetOpacity(struct ClientNode *np, unsigned int opacity, char force);
245 
250 void WriteFrameExtents(Window win, const ClientState *state);
251 
258 char GetCardinalAtom(Window window, AtomType atom, unsigned long *value);
259 
265 void SetCardinalAtom(Window window, AtomType atom, unsigned long value);
266 
273 char GetWindowAtom(Window window, AtomType atom, Window *value);
274 
280 void SetWindowAtom(Window window, AtomType atom, unsigned long value);
281 
287 void SetPixmapAtom(Window window, AtomType atom, Pixmap value);
288 
294 void SetAtomAtom(Window window, AtomType atom, AtomType value);
295 
296 #endif /* HINT_H */
297 

joewing.net / Projects / JWM