Blame lib/Xm/MwmUtil.h

Packit b099d7
/* 
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
*/ 
Packit b099d7
/* 
Packit b099d7
 * HISTORY
Packit b099d7
*/ 
Packit b099d7
/*   $XConsortium: MwmUtil.h /main/11 1995/08/18 17:42:47 drk $ */
Packit b099d7
/*
Packit b099d7
*  (c) Copyright 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
#ifndef _XmMwmUtil_h
Packit b099d7
#define _XmMwmUtil_h
Packit b099d7
Packit b099d7
#include <X11/X.h>	/* for Window typedefs */
Packit b099d7
#include <X11/Xmd.h>	/* for protocol typedefs */
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Contents of the _MWM_HINTS property.
Packit b099d7
 */
Packit b099d7
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
    /* These correspond to XmRInt resources. (VendorSE.c) */
Packit b099d7
    int	         flags;
Packit b099d7
    int		 functions;
Packit b099d7
    int		 decorations;
Packit b099d7
    int		 input_mode;
Packit b099d7
    int		 status;
Packit b099d7
} MotifWmHints;
Packit b099d7
Packit b099d7
typedef MotifWmHints	MwmHints;
Packit b099d7
Packit b099d7
/* bit definitions for MwmHints.flags */
Packit b099d7
#define MWM_HINTS_FUNCTIONS	(1L << 0)
Packit b099d7
#define MWM_HINTS_DECORATIONS	(1L << 1)
Packit b099d7
#define MWM_HINTS_INPUT_MODE	(1L << 2)
Packit b099d7
#define MWM_HINTS_STATUS	(1L << 3)
Packit b099d7
Packit b099d7
/* bit definitions for MwmHints.functions */
Packit b099d7
#define MWM_FUNC_ALL		(1L << 0)
Packit b099d7
#define MWM_FUNC_RESIZE		(1L << 1)
Packit b099d7
#define MWM_FUNC_MOVE		(1L << 2)
Packit b099d7
#define MWM_FUNC_MINIMIZE	(1L << 3)
Packit b099d7
#define MWM_FUNC_MAXIMIZE	(1L << 4)
Packit b099d7
#define MWM_FUNC_CLOSE		(1L << 5)
Packit b099d7
Packit b099d7
/* bit definitions for MwmHints.decorations */
Packit b099d7
#define MWM_DECOR_ALL		(1L << 0)
Packit b099d7
#define MWM_DECOR_BORDER	(1L << 1)
Packit b099d7
#define MWM_DECOR_RESIZEH	(1L << 2)
Packit b099d7
#define MWM_DECOR_TITLE		(1L << 3)
Packit b099d7
#define MWM_DECOR_MENU		(1L << 4)
Packit b099d7
#define MWM_DECOR_MINIMIZE	(1L << 5)
Packit b099d7
#define MWM_DECOR_MAXIMIZE	(1L << 6)
Packit b099d7
Packit b099d7
Packit b099d7
/* definitions for running automated tests */
Packit b099d7
Packit b099d7
Packit b099d7
#define WINDOW_MINIMIZE_INFO	    	0
Packit b099d7
#define WINDOW_MAXIMIZE_INFO	        1
Packit b099d7
#define WINDOW_MOVE_INFO	        2
Packit b099d7
#define WINDOW_RAISE_INFO	        3
Packit b099d7
#define WINDOW_RESIZE_NORTH_INFO       	4
Packit b099d7
#define WINDOW_RESIZE_SOUTH_INFO       	5
Packit b099d7
#define WINDOW_RESIZE_EAST_INFO        	6
Packit b099d7
#define WINDOW_RESIZE_WEST_INFO        	7
Packit b099d7
#define WINDOW_RESIZE_NORTHEAST_INFO   	8
Packit b099d7
#define WINDOW_RESIZE_NORTHWEST_INFO   	9
Packit b099d7
#define WINDOW_RESIZE_SOUTHEAST_INFO   	10
Packit b099d7
#define WINDOW_RESIZE_SOUTHWEST_INFO   	11
Packit b099d7
#define WINDOW_MENU_ITEM_SELECT_INFO    12  
Packit b099d7
#define WINDOW_DEICONIFY_INFO          	13
Packit b099d7
#define WINDOW_MENU_POST_INFO   	14
Packit b099d7
#define WINDOW_FOCUS_INFO              	15  
Packit b099d7
#define WINDOW_MENU_UNPOST_INFO  	16
Packit b099d7
#define WINDOW_MENU_ITEM_CHECK_INFO  	17
Packit b099d7
#define ICON_MOVE_INFO   	        18
Packit b099d7
#define ICON_MENU_POST_INFO   	        19
Packit b099d7
#define ICON_MENU_UNPOST_INFO   	20
Packit b099d7
#define ICON_MENU_ITEM_SELECT_INFO   	21
Packit b099d7
Packit b099d7
#define WM_NORTHWEST                    0
Packit b099d7
#define WM_NORTH                        1
Packit b099d7
#define WM_NORTHEAST                    2
Packit b099d7
#define WM_WEST                         3
Packit b099d7
#define WM_EAST                         4
Packit b099d7
#define WM_SOUTHWEST                    5
Packit b099d7
#define WM_SOUTH                        6
Packit b099d7
#define WM_SOUTHEAST                    7
Packit b099d7
Packit b099d7
#define INVALID -1
Packit b099d7
#define MAX_MENU_ITEMS 20
Packit b099d7
#define MAX_NAME_LEN 95
Packit b099d7
Packit b099d7
Packit b099d7
/* values for MwmHints.input_mode */
Packit b099d7
#define MWM_INPUT_MODELESS			0
Packit b099d7
#define MWM_INPUT_PRIMARY_APPLICATION_MODAL	1
Packit b099d7
#define MWM_INPUT_SYSTEM_MODAL			2
Packit b099d7
#define MWM_INPUT_FULL_APPLICATION_MODAL	3
Packit b099d7
Packit b099d7
/* bit definitions for MwmHints.status */
Packit b099d7
#define MWM_TEAROFF_WINDOW	(1L << 0)
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * The following is for compatibility only. It use is deprecated.
Packit b099d7
 */
Packit b099d7
#define MWM_INPUT_APPLICATION_MODAL	MWM_INPUT_PRIMARY_APPLICATION_MODAL
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Contents of the _MWM_INFO property.
Packit b099d7
 */
Packit b099d7
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
    long	flags;
Packit b099d7
    Window	wm_window;
Packit b099d7
} MotifWmInfo;
Packit b099d7
Packit b099d7
typedef MotifWmInfo	MwmInfo;
Packit b099d7
Packit b099d7
/* bit definitions for MotifWmInfo .flags */
Packit b099d7
#define MWM_INFO_STARTUP_STANDARD	(1L << 0)
Packit b099d7
#define MWM_INFO_STARTUP_CUSTOM		(1L << 1)
Packit b099d7
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Definitions for the _MWM_HINTS property.
Packit b099d7
 */
Packit b099d7
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
    /* 32-bit property items are stored as long on the client (whether
Packit b099d7
     * that means 32 bits or 64).  XChangeProperty handles the conversion
Packit b099d7
     * to the actual 32-bit quantities sent to the server.
Packit b099d7
     */
Packit b099d7
    unsigned long	flags;
Packit b099d7
    unsigned long	functions;
Packit b099d7
    unsigned long	decorations;
Packit b099d7
    long 	        inputMode;
Packit b099d7
    unsigned long	status;
Packit b099d7
} PropMotifWmHints;
Packit b099d7
Packit b099d7
typedef PropMotifWmHints	PropMwmHints;
Packit b099d7
Packit b099d7
Packit b099d7
/* number of elements of size 32 in _MWM_HINTS */
Packit b099d7
#define PROP_MOTIF_WM_HINTS_ELEMENTS	5
Packit b099d7
#define PROP_MWM_HINTS_ELEMENTS		PROP_MOTIF_WM_HINTS_ELEMENTS
Packit b099d7
Packit b099d7
/* atom name for _MWM_HINTS property */
Packit b099d7
#define _XA_MOTIF_WM_HINTS	"_MOTIF_WM_HINTS"
Packit b099d7
#define _XA_MWM_HINTS		_XA_MOTIF_WM_HINTS
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Definitions for the _MWM_MESSAGES property.
Packit b099d7
 */
Packit b099d7
Packit b099d7
#define _XA_MOTIF_WM_MESSAGES	"_MOTIF_WM_MESSAGES"
Packit b099d7
#define _XA_MWM_MESSAGES	_XA_MOTIF_WM_MESSAGES
Packit b099d7
Packit b099d7
/* atom that enables client frame offset messages */
Packit b099d7
#define _XA_MOTIF_WM_OFFSET	"_MOTIF_WM_OFFSET"
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Definitions for the _MWM_MENU property.
Packit b099d7
 */
Packit b099d7
Packit b099d7
/* atom name for _MWM_MENU property */
Packit b099d7
#define _XA_MOTIF_WM_MENU	"_MOTIF_WM_MENU"
Packit b099d7
#define _XA_MWM_MENU		_XA_MOTIF_WM_MENU
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Definitions for the _MWM_INFO property.
Packit b099d7
 */
Packit b099d7
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
  /* 32-bit property items are stored as long on the client (whether
Packit b099d7
   * that means 32 bits or 64).  XChangeProperty handles the conversion
Packit b099d7
   * to the actual 32-bit quantities sent to the server.
Packit b099d7
   */
Packit b099d7
  long		flags;
Packit b099d7
  Window	wmWindow;
Packit b099d7
} PropMotifWmInfo;
Packit b099d7
Packit b099d7
typedef PropMotifWmInfo	PropMwmInfo;
Packit b099d7
Packit b099d7
Packit b099d7
/* number of elements of size 32 in _MWM_INFO */
Packit b099d7
#define PROP_MOTIF_WM_INFO_ELEMENTS	2
Packit b099d7
#define PROP_MWM_INFO_ELEMENTS		PROP_MOTIF_WM_INFO_ELEMENTS
Packit b099d7
Packit b099d7
/* atom name for _MWM_INFO property */
Packit b099d7
#define _XA_MOTIF_WM_INFO	"_MOTIF_WM_INFO"
Packit b099d7
#define _XA_MWM_INFO		_XA_MOTIF_WM_INFO
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Miscellaneous atom definitions
Packit b099d7
 */
Packit b099d7
Packit b099d7
/* atom for motif input bindings */
Packit b099d7
#define _XA_MOTIF_BINDINGS	"_MOTIF_BINDINGS"
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
}  /* Close scope of 'extern "C"' declaration which encloses file. */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif /* _XmMwmUtil_h */