mwmhints.h revision 645f5050
1#ifndef _MWMHINTS_
2#define _MWMHINTS_
3
4#include <X11/Xlib.h>
5#include "types.h"
6
7/*
8 * Contents of the _MOTIF_WM_HINTS property.
9 */
10
11#undef FULL_MWM_DATA
12
13typedef struct
14{
15    int	         flags;
16    int		 functions;
17    int		 decorations;
18#ifdef FULL_MWM_DATA
19    int		 input_mode;
20    int		 status;
21#endif
22} MotifWmHints;
23
24/* bit definitions for MwmHints.flags */
25#define MWM_HINTS_FUNCTIONS	(1L << 0)
26#define MWM_HINTS_DECORATIONS	(1L << 1)
27#define MWM_HINTS_INPUT_MODE	(1L << 2)
28#define MWM_HINTS_STATUS	(1L << 3)
29
30/* bit definitions for MwmHints.functions */
31#define MWM_FUNC_ALL		(1L << 0)
32#define MWM_FUNC_RESIZE		(1L << 1)
33#define MWM_FUNC_MOVE		(1L << 2)
34#define MWM_FUNC_MINIMIZE	(1L << 3)
35#define MWM_FUNC_MAXIMIZE	(1L << 4)
36#define MWM_FUNC_CLOSE		(1L << 5)
37
38/* bit definitions for MwmHints.decorations */
39#define MWM_DECOR_ALL		(1L << 0)	/* [v] */
40#define MWM_DECOR_BORDER	(1L << 1)	/* [v] */
41#define MWM_DECOR_RESIZEH	(1L << 2)
42#define MWM_DECOR_TITLE		(1L << 3)	/* [v] */
43#define MWM_DECOR_MENU		(1L << 4)
44#define MWM_DECOR_MINIMIZE	(1L << 5)
45#define MWM_DECOR_MAXIMIZE	(1L << 6)
46
47/* values for MwmHints.input_mode */
48#define MWM_INPUT_MODELESS			0
49#define MWM_INPUT_PRIMARY_APPLICATION_MODAL	1
50#define MWM_INPUT_SYSTEM_MODAL			2
51#define MWM_INPUT_FULL_APPLICATION_MODAL	3
52
53/* bit definitions for MwmHints.status */
54#define MWM_TEAROFF_WINDOW	(1L << 0)
55
56/*
57 * The above includes some contents from <Xm/MwmUtil.h>.
58 *
59 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
60 *
61 * These libraries and programs are free software; you can
62 * redistribute them and/or modify them under the terms of the GNU
63 * Lesser General Public License as published by the Free Software
64 * Foundation; either version 2 of the License, or (at your option)
65 * any later version.
66 */
67
68extern int GetMWMHints(Window w, MotifWmHints *mwmHints);
69
70#endif /* include guard */
71