Back to index

indicator-appmenu  12.10.0
MwmUtil.h
Go to the documentation of this file.
00001 /*
00002  *
00003  * $Id$
00004  *
00005  * Copyright (C) 1995 Free Software Foundation, Inc.
00006  *
00007  * This file is part of the GNU LessTif Library.
00008  *
00009  * This library is free software; you can redistribute it and/or
00010  * modify it under the terms of the GNU Library General Public
00011  * License as published by the Free Software Foundation; either
00012  * version 2 of the License, or (at your option) any later version.
00013  *
00014  * This library is distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017  * Library General Public License for more details.
00018  *
00019  * You should have received a copy of the GNU Library General Public
00020  * License along with this library; if not, write to the
00021  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00022  * Boston, MA 02111-1307, USA.
00023  *
00024  *
00025  * * Feb 21 1999 - George Lebl (jirka@5z.com)
00026  *                 Owen Taylor (otaylor@redhat.com)
00027  *
00028  *   Modified so that the MotifWmHints structure defined here
00029  *   is suitable for client side use on 64-bit architectures.
00030  *   X expects fields with a format of 32 to be longs, even
00031  *   when sizeof(long) == 8.
00032  */
00033 
00034 #ifndef MWMUTIL_H_INCLUDED
00035 #define MWMUTIL_H_INCLUDED
00036 
00037 #include <X11/Xmd.h>
00038 
00039 G_BEGIN_DECLS
00040 
00041 typedef struct {
00042     unsigned long flags;
00043     unsigned long functions;
00044     unsigned long decorations;
00045     long input_mode;
00046     unsigned long status;
00047 } MotifWmHints, MwmHints;
00048 
00049 #define MWM_HINTS_FUNCTIONS     (1L << 0)
00050 #define MWM_HINTS_DECORATIONS   (1L << 1)
00051 #define MWM_HINTS_INPUT_MODE    (1L << 2)
00052 #define MWM_HINTS_STATUS        (1L << 3)
00053 
00054 #define MWM_FUNC_ALL            (1L << 0)
00055 #define MWM_FUNC_RESIZE         (1L << 1)
00056 #define MWM_FUNC_MOVE           (1L << 2)
00057 #define MWM_FUNC_MINIMIZE       (1L << 3)
00058 #define MWM_FUNC_MAXIMIZE       (1L << 4)
00059 #define MWM_FUNC_CLOSE          (1L << 5)
00060 
00061 #define MWM_DECOR_ALL           (1L << 0)
00062 #define MWM_DECOR_BORDER        (1L << 1)
00063 #define MWM_DECOR_RESIZEH       (1L << 2)
00064 #define MWM_DECOR_TITLE         (1L << 3)
00065 #define MWM_DECOR_MENU          (1L << 4)
00066 #define MWM_DECOR_MINIMIZE      (1L << 5)
00067 #define MWM_DECOR_MAXIMIZE      (1L << 6)
00068 
00069 #define MWM_INPUT_MODELESS 0
00070 #define MWM_INPUT_PRIMARY_APPLICATION_MODAL 1
00071 #define MWM_INPUT_SYSTEM_MODAL 2
00072 #define MWM_INPUT_FULL_APPLICATION_MODAL 3
00073 #define MWM_INPUT_APPLICATION_MODAL MWM_INPUT_PRIMARY_APPLICATION_MODAL
00074 
00075 #define MWM_TEAROFF_WINDOW  (1L<<0)
00076 
00077 /*
00078  * atoms
00079  */
00080 #define _XA_MOTIF_BINDINGS         "_MOTIF_BINDINGS"
00081 #define _XA_MOTIF_WM_HINTS         "_MOTIF_WM_HINTS"
00082 #define _XA_MOTIF_WM_MESSAGES             "_MOTIF_WM_MESSAGES"
00083 #define _XA_MOTIF_WM_OFFSET        "_MOTIF_WM_OFFSET"
00084 #define _XA_MOTIF_WM_MENU          "_MOTIF_WM_MENU"
00085 #define _XA_MOTIF_WM_INFO          "_MOTIF_WM_INFO"
00086 #define _XA_MWM_HINTS                     _XA_MOTIF_WM_HINTS
00087 #define _XA_MWM_MESSAGES           _XA_MOTIF_WM_MESSAGES
00088 #define _XA_MWM_MENU               _XA_MOTIF_WM_MENU
00089 #define _XA_MWM_INFO               _XA_MOTIF_WM_INFO
00090 
00091 
00092 /*
00093  * _MWM_INFO property
00094  */
00095 typedef struct {
00096     long flags;
00097     Window wm_window;
00098 } MotifWmInfo;
00099 
00100 typedef MotifWmInfo MwmInfo;
00101 
00102 #define MWM_INFO_STARTUP_STANDARD  (1L<<0)
00103 #define MWM_INFO_STARTUP_CUSTOM           (1L<<1)
00104 
00105 /*
00106  * _MWM_HINTS property
00107  */
00108 typedef struct {
00109     unsigned long flags;
00110     unsigned long functions;
00111     unsigned long decorations;
00112     long inputMode;
00113     unsigned long status;
00114 } PropMotifWmHints;
00115 
00116 typedef PropMotifWmHints PropMwmHints;
00117 
00118 #define PROP_MOTIF_WM_HINTS_ELEMENTS 5
00119 #define PROP_MWM_HINTS_ELEMENTS PROP_MOTIF_WM_HINTS_ELEMENTS
00120 
00121 /*
00122  * _MWM_INFO property, slight return
00123  */
00124 typedef struct {
00125     unsigned long flags;
00126     unsigned long wmWindow;
00127 } PropMotifWmInfo;
00128 
00129 typedef PropMotifWmInfo PropMwmInfo;
00130 
00131 #define PROP_MOTIF_WM_INFO_ELEMENTS 2
00132 #define PROP_MWM_INFO_ELEMENTS PROP_MOTIF_WM_INFO_ELEMENTS
00133 
00134 G_END_DECLS
00135 
00136 #endif /* MWMUTIL_H_INCLUDED */