]> Pileus Git - ~andy/gtk/blob - gdk/MwmUtil.h
Changed LGPL address for FSF in all .h and .c files
[~andy/gtk] / gdk / MwmUtil.h
1 /**
2  *
3  * $Id$
4  *
5  * Copyright (C) 1995 Free Software Foundation, Inc.
6  *
7  * This file is part of the GNU LessTif Library.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Library General Public
11  * License as published by the Free Software Foundation; either
12  * version 2 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Library General Public License for more details.
18  *
19  * You should have received a copy of the GNU Library General Public
20  * License along with this library; if not, write to the
21  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22  * Boston, MA 02111-1307, USA.
23  *
24  **/
25
26 #ifndef MWMUTIL_H_INCLUDED
27 #define MWMUTIL_H_INCLUDED
28
29 #include <X11/Xmd.h>
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 typedef struct {
36     CARD32 flags;
37     CARD32 functions;
38     CARD32 decorations;
39     INT32 input_mode;
40     CARD32 status;
41 } MotifWmHints, MwmHints;
42
43 #define MWM_HINTS_FUNCTIONS     (1L << 0)
44 #define MWM_HINTS_DECORATIONS   (1L << 1)
45 #define MWM_HINTS_INPUT_MODE    (1L << 2)
46 #define MWM_HINTS_STATUS        (1L << 3)
47
48 #define MWM_FUNC_ALL            (1L << 0)
49 #define MWM_FUNC_RESIZE         (1L << 1)
50 #define MWM_FUNC_MOVE           (1L << 2)
51 #define MWM_FUNC_MINIMIZE       (1L << 3)
52 #define MWM_FUNC_MAXIMIZE       (1L << 4)
53 #define MWM_FUNC_CLOSE          (1L << 5)
54
55 #define MWM_DECOR_ALL           (1L << 0)
56 #define MWM_DECOR_BORDER        (1L << 1)
57 #define MWM_DECOR_RESIZEH       (1L << 2)
58 #define MWM_DECOR_TITLE         (1L << 3)
59 #define MWM_DECOR_MENU          (1L << 4)
60 #define MWM_DECOR_MINIMIZE      (1L << 5)
61 #define MWM_DECOR_MAXIMIZE      (1L << 6)
62
63 #define MWM_INPUT_MODELESS 0
64 #define MWM_INPUT_PRIMARY_APPLICATION_MODAL 1
65 #define MWM_INPUT_SYSTEM_MODAL 2
66 #define MWM_INPUT_FULL_APPLICATION_MODAL 3
67 #define MWM_INPUT_APPLICATION_MODAL MWM_INPUT_PRIMARY_APPLICATION_MODAL
68
69 #define MWM_TEAROFF_WINDOW      (1L<<0)
70
71 /*
72  * atoms
73  */
74 #define _XA_MOTIF_BINDINGS              "_MOTIF_BINDINGS"
75 #define _XA_MOTIF_WM_HINTS              "_MOTIF_WM_HINTS"
76 #define _XA_MOTIF_WM_MESSAGES           "_MOTIF_WM_MESSAGES"
77 #define _XA_MOTIF_WM_OFFSET             "_MOTIF_WM_OFFSET"
78 #define _XA_MOTIF_WM_MENU               "_MOTIF_WM_MENU"
79 #define _XA_MOTIF_WM_INFO               "_MOTIF_WM_INFO"
80 #define _XA_MWM_HINTS                   _XA_MOTIF_WM_HINTS
81 #define _XA_MWM_MESSAGES                _XA_MOTIF_WM_MESSAGES
82 #define _XA_MWM_MENU                    _XA_MOTIF_WM_MENU
83 #define _XA_MWM_INFO                    _XA_MOTIF_WM_INFO
84
85
86 /*
87  * _MWM_INFO property
88  */
89 typedef struct {
90     long flags;
91     Window wm_window;
92 } MotifWmInfo;
93
94 typedef MotifWmInfo MwmInfo;
95
96 #define MWM_INFO_STARTUP_STANDARD       (1L<<0)
97 #define MWM_INFO_STARTUP_CUSTOM         (1L<<1)
98
99 /*
100  * _MWM_HINTS property
101  */
102 typedef struct {
103     CARD32 flags;
104     CARD32 functions;
105     CARD32 decorations;
106     INT32 inputMode;
107     CARD32 status;
108 } PropMotifWmHints;
109
110 typedef PropMotifWmHints PropMwmHints;
111
112 #define PROP_MOTIF_WM_HINTS_ELEMENTS 5
113 #define PROP_MWM_HINTS_ELEMENTS PROP_MOTIF_WM_HINTS_ELEMENTS
114
115 /*
116  * _MWM_INFO property, slight return
117  */
118 typedef struct {
119     CARD32 flags;
120     CARD32 wmWindow;
121 } PropMotifWmInfo;
122
123 typedef PropMotifWmInfo PropMwmInfo;
124
125 #define PROP_MOTIF_WM_INFO_ELEMENTS 2
126 #define PROP_MWM_INFO_ELEMENTS PROP_MOTIF_WM_INFO_ELEMENTS
127
128 #ifdef __cplusplus
129 }
130 #endif
131
132 #endif /* MWMUTIL_H_INCLUDED */