|
Packit |
b099d7 |
#ifndef _WmGlobal_h
|
|
Packit |
b099d7 |
#define _WmGlobal_h
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef HAVE_CONFIG_H
|
|
Packit |
b099d7 |
#include <config.h>
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
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 |
* Motif Release 1.2.4
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/* $XConsortium: WmGlobal.h /main/16 1996/10/30 11:55:23 drk $ */
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* (c) Copyright 1987,1988,1989,1990,1992,1993,1994 HEWLETT-PACKARD COMPANY
|
|
Packit |
b099d7 |
* (c) Copyright 1993, 1994 International Business Machines Corp.
|
|
Packit |
b099d7 |
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
|
Packit |
b099d7 |
* (c) Copyright 1993, 1994 Novell, Inc.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* ANSI C definitions, This should be the first thing in WmGlobal.h */
|
|
Packit |
b099d7 |
#ifdef __STDC__
|
|
Packit |
b099d7 |
#define Const const
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
#define Const /**/
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Included Files:
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <stdio.h>
|
|
Packit |
b099d7 |
#include <X11/Xlib.h>
|
|
Packit |
b099d7 |
#include <X11/Xutil.h>
|
|
Packit |
b099d7 |
#ifndef NO_SHAPE
|
|
Packit |
b099d7 |
#include <X11/extensions/shape.h>
|
|
Packit |
b099d7 |
#endif /* NO_SHAPE */
|
|
Packit |
b099d7 |
#include <X11/IntrinsicP.h>
|
|
Packit |
b099d7 |
#include <X11/Intrinsic.h>
|
|
Packit |
b099d7 |
#include <X11/StringDefs.h>
|
|
Packit |
b099d7 |
#include <Xm/MwmUtil.h>
|
|
Packit |
b099d7 |
#include <Xm/Xm.h>
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#include <Xm/ColorObjP.h>
|
|
Packit |
b099d7 |
#include
|
|
Packit |
b099d7 |
#include
|
|
Packit |
b099d7 |
#include
|
|
Packit |
b099d7 |
#include "WmParse.h"
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
#include
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#if defined(sun) && defined(ALLPLANES)
|
|
Packit |
b099d7 |
#include <X11/extensions/allplanes.h>
|
|
Packit |
b099d7 |
#endif /* defined(sun) && defined(ALLPLANES) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Value definitions and macros:
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef MOTIF_ONE_DOT_ONE
|
|
Packit |
b099d7 |
#define XmFONTLIST_DEFAULT_TAG "XmSTRING_DEFAULT_CHARSET"
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
extern int WmIdentity;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Color server defines
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define CSERVE_NORMAL 0
|
|
Packit |
b099d7 |
#define CSERVE_NOT_AVAILABLE 1
|
|
Packit |
b099d7 |
#define CSERVE_FAILURE 2
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* window manager name and class used to get resources: */
|
|
Packit |
b099d7 |
#define WM_RESOURCE_CLASS "Mwm"
|
|
Packit |
b099d7 |
#define WM_RESOURCE_NAME "mwm"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define DT_WM_RESOURCE_CLASS "Dtwm"
|
|
Packit |
b099d7 |
#define DT_WM_RESOURCE_NAME "dtwm"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
extern Pixel FPbackground;
|
|
Packit |
b099d7 |
extern Pixel FPforeground;
|
|
Packit |
b099d7 |
extern Pixel FPtopshadow;
|
|
Packit |
b099d7 |
extern Pixel FPbottomshadow;
|
|
Packit |
b099d7 |
extern Pixel FPselectcolor;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define USE_ACTIVE_PIXELSET 0
|
|
Packit |
b099d7 |
#define USE_INACTIVE_PIXELSET 1
|
|
Packit |
b099d7 |
#define USE_PRIMARY_PIXELSET 2
|
|
Packit |
b099d7 |
#define USE_SECONDARY_PIXELSET 3
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define MWM 0
|
|
Packit |
b099d7 |
#define DT_MWM 1
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define MwmBehavior (WmIdentity == MWM)
|
|
Packit |
b099d7 |
#define DtwmBehavior (WmIdentity == DT_MWM)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
#define MwmBehavior (True)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* ICCC atom names: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
# define _XA_TARGETS "TARGETS"
|
|
Packit |
b099d7 |
# define _XA_MULTIPLE "MULTIPLE"
|
|
Packit |
b099d7 |
# define _XA_TIMESTAMP "TIMESTAMP"
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _XA_WM_STATE "WM_STATE"
|
|
Packit |
b099d7 |
#define _XA_WM_PROTOCOLS "WM_PROTOCOLS"
|
|
Packit |
b099d7 |
#define _XA_WM_CHANGE_STATE "WM_CHANGE_STATE"
|
|
Packit |
b099d7 |
#define _XA_WM_SAVE_YOURSELF "WM_SAVE_YOURSELF"
|
|
Packit |
b099d7 |
#define _XA_WM_DELETE_WINDOW "WM_DELETE_WINDOW"
|
|
Packit |
b099d7 |
#define _XA_WM_TAKE_FOCUS "WM_TAKE_FOCUS"
|
|
Packit |
b099d7 |
#define _XA_WM_COLORMAP_WINDOWS "WM_COLORMAP_WINDOWS"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
/* original set of query targets */
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_CLIENT_WINDOW "_MOTIF_WM_CLIENT_WINDOW"
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_POINTER_WINDOW "_MOTIF_WM_POINTER_WINDOW"
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_ALL_CLIENTS "_MOTIF_WM_ALL_CLIENTS"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* menu command interface support */
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_DEFINE_COMMAND "_MOTIF_WM_DEFINE_COMMAND"
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_INCLUDE_COMMAND "_MOTIF_WM_INCLUDE_COMMAND"
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_REMOVE_COMMAND "_MOTIF_WM_REMOVE_COMMAND"
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_ENABLE_COMMAND "_MOTIF_WM_ENABLE_COMMAND"
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_DISABLE_COMMAND "_MOTIF_WM_DISABLE_COMMAND"
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_RENAME_COMMAND "_MOTIF_WM_RENAME_COMMAND"
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_INVOKE_COMMAND "_MOTIF_WM_INVOKE_COMMAND"
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_REQUEST_COMMAND "_MOTIF_WM_REQUEST_COMMAND"
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_WINDOW_FLAGS "_MOTIF_WM_WINDOW_FLAGS"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* automation support */
|
|
Packit |
b099d7 |
# define _XA_MOTIF_WM_AUTOMATION "_MOTIF_WM_AUTOMATION"
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* window manager exit value on fatal errors: */
|
|
Packit |
b099d7 |
#define WM_ERROR_EXIT_VALUE 1
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* built-in button bindings for window manager actions: */
|
|
Packit |
b099d7 |
#define SELECT_BUTTON Button1
|
|
Packit |
b099d7 |
#define SELECT_BUTTON_MASK Button1Mask
|
|
Packit |
b099d7 |
#define SELECT_BUTTON_MOTION_MASK Button1MotionMask
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define FOCUS_SELECT_BUTTON SELECT_BUTTON
|
|
Packit |
b099d7 |
#define FOCUS_SELECT_MODIFIERS 0
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* direct manipulation button */
|
|
Packit |
b099d7 |
#define DMANIP_BUTTON Button2
|
|
Packit |
b099d7 |
#define DMANIP_BUTTON_MASK Button2Mask
|
|
Packit |
b099d7 |
#define DMANIP_BUTTON_MOTION_MASK Button2MotionMask
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* menu button */
|
|
Packit |
b099d7 |
#define BMENU_BUTTON Button3
|
|
Packit |
b099d7 |
#define BMENU_BUTTON_MASK Button3Mask
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* max number of buttons on a mouse */
|
|
Packit |
b099d7 |
#define NUM_BUTTONS 5
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Needed by PostMenu() to specify key post: */
|
|
Packit |
b099d7 |
#define NoButton 0
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* manage window flags: */
|
|
Packit |
b099d7 |
#define MANAGEW_WM_STARTUP (1L << 0)
|
|
Packit |
b099d7 |
#define MANAGEW_WM_RESTART (1L << 1)
|
|
Packit |
b099d7 |
#define MANAGEW_NORMAL (1L << 2)
|
|
Packit |
b099d7 |
#define MANAGEW_ICON_BOX (1L << 3)
|
|
Packit |
b099d7 |
#define MANAGEW_CONFIRM_BOX (1L << 4)
|
|
Packit |
b099d7 |
#define MANAGEW_WM_RESTART_ICON (1L << 5)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define MANAGEW_WM_CLIENTS (MANAGEW_ICON_BOX | \
|
|
Packit |
b099d7 |
MANAGEW_CONFIRM_BOX )
|
|
Packit |
b099d7 |
#else /* WSM */
|
|
Packit |
b099d7 |
#define MANAGEW_WM_CLIENTS (MANAGEW_ICON_BOX | MANAGEW_CONFIRM_BOX)
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* keyboard input focus flag values (for calls to SetKeyboardFocus) */
|
|
Packit |
b099d7 |
#define ALWAYS_SET_FOCUS (1L << 0)
|
|
Packit |
b099d7 |
#define REFRESH_LAST_FOCUS (1L << 1)
|
|
Packit |
b099d7 |
#define CLIENT_AREA_FOCUS (1L << 2)
|
|
Packit |
b099d7 |
#define SCREEN_SWITCH_FOCUS (1L << 3)
|
|
Packit |
b099d7 |
/* special value for use for Do_Focus_Key to set to internal window */
|
|
Packit |
b099d7 |
#define WORKSPACE_IF_NULL (1L << 4)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Menu posting flag values (for calls to PostMenu) */
|
|
Packit |
b099d7 |
#define POST_AT_XY (1L << 0)
|
|
Packit |
b099d7 |
#define POST_TRAVERSAL_ON (1L << 1)
|
|
Packit |
b099d7 |
#define POST_STICKY (1L << 2)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* feedback box styles */
|
|
Packit |
b099d7 |
#define FB_OFF (0)
|
|
Packit |
b099d7 |
#define FB_SIZE (1L << 0)
|
|
Packit |
b099d7 |
#define FB_POSITION (1L << 1)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* confirmbox and waitbox indexes */
|
|
Packit |
b099d7 |
#define DEFAULT_BEHAVIOR_ACTION 0
|
|
Packit |
b099d7 |
#define CUSTOM_BEHAVIOR_ACTION 1
|
|
Packit |
b099d7 |
#define RESTART_ACTION 2
|
|
Packit |
b099d7 |
#define QUIT_MWM_ACTION 3
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* extract text height in pixels from a (XFontStruct *) */
|
|
Packit |
b099d7 |
#define TEXT_HEIGHT(pfs) (((pfs)->ascent)+((pfs)->descent))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* icon frame shadow widths */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define ICON_EXTERNAL_SHADOW_WIDTH (wmGD.iconExternalShadowWidth)
|
|
Packit |
b099d7 |
#else /* WSM */
|
|
Packit |
b099d7 |
#define ICON_EXTERNAL_SHADOW_WIDTH 2
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
#define ICON_INTERNAL_SHADOW_WIDTH 1
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* padding widths */
|
|
Packit |
b099d7 |
#define ICON_IMAGE_TOP_PAD 2
|
|
Packit |
b099d7 |
#define ICON_IMAGE_BOTTOM_PAD 2
|
|
Packit |
b099d7 |
#define ICON_IMAGE_LEFT_PAD 2
|
|
Packit |
b099d7 |
#define ICON_IMAGE_RIGHT_PAD 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* image offsets */
|
|
Packit |
b099d7 |
#define ICON_INNER_X_OFFSET \
|
|
Packit |
b099d7 |
(ICON_IMAGE_LEFT_PAD+ICON_EXTERNAL_SHADOW_WIDTH)
|
|
Packit |
b099d7 |
#define ICON_INNER_Y_OFFSET \
|
|
Packit |
b099d7 |
(ICON_IMAGE_TOP_PAD+ICON_EXTERNAL_SHADOW_WIDTH)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define ICON_IMAGE_X_OFFSET ICON_INNER_X_OFFSET+ICON_INTERNAL_SHADOW_WIDTH
|
|
Packit |
b099d7 |
#define ICON_IMAGE_Y_OFFSET ICON_INNER_Y_OFFSET+ICON_INTERNAL_SHADOW_WIDTH
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* number of rectangles to allocate */
|
|
Packit |
b099d7 |
#define NUM_MATTE_TS_RECTS (6)
|
|
Packit |
b099d7 |
#define NUM_MATTE_BS_RECTS (6)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NUM_IMAGE_TOP_RECTS \
|
|
Packit |
b099d7 |
((2*ICON_EXTERNAL_SHADOW_WIDTH)+(2*ICON_INTERNAL_SHADOW_WIDTH))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NUM_IMAGE_BOTTOM_RECTS \
|
|
Packit |
b099d7 |
((2*ICON_EXTERNAL_SHADOW_WIDTH)+(2*ICON_INTERNAL_SHADOW_WIDTH))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NUM_LABEL_TOP_RECTS (2*ICON_EXTERNAL_SHADOW_WIDTH)
|
|
Packit |
b099d7 |
#define NUM_LABEL_BOTTOM_RECTS (2*ICON_EXTERNAL_SHADOW_WIDTH)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NUM_BOTH_TOP_RECTS \
|
|
Packit |
b099d7 |
((3*ICON_EXTERNAL_SHADOW_WIDTH)+(3*ICON_INTERNAL_SHADOW_WIDTH))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NUM_BOTH_BOTTOM_RECTS \
|
|
Packit |
b099d7 |
((3*ICON_EXTERNAL_SHADOW_WIDTH)+(3*ICON_INTERNAL_SHADOW_WIDTH))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NUM_STATIC_TOP_RECTS (2*ICON_INTERNAL_SHADOW_WIDTH)
|
|
Packit |
b099d7 |
#define NUM_STATIC_BOTTOM_RECTS (2*ICON_INTERNAL_SHADOW_WIDTH)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client frame shadow widths */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define FRAME_EXTERNAL_SHADOW_WIDTH (wmGD.frameExternalShadowWidth)
|
|
Packit |
b099d7 |
#else /* WSM */
|
|
Packit |
b099d7 |
#define FRAME_EXTERNAL_SHADOW_WIDTH 2
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
#define FRAME_INTERNAL_SHADOW_WIDTH 1
|
|
Packit |
b099d7 |
#define FRAME_CLIENT_SHADOW_WIDTH 1
|
|
Packit |
b099d7 |
#define FRAME_MATTE_SHADOW_WIDTH 1
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* padding around text in title bar */
|
|
Packit |
b099d7 |
#define WM_TOP_TITLE_PADDING 1
|
|
Packit |
b099d7 |
#define WM_BOTTOM_TITLE_PADDING 1
|
|
Packit |
b099d7 |
#define WM_TOP_TITLE_SHADOW FRAME_INTERNAL_SHADOW_WIDTH
|
|
Packit |
b099d7 |
#define WM_BOTTOM_TITLE_SHADOW FRAME_INTERNAL_SHADOW_WIDTH
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define WM_TITLE_BAR_PADDING (WM_TOP_TITLE_PADDING \
|
|
Packit |
b099d7 |
+WM_BOTTOM_TITLE_PADDING \
|
|
Packit |
b099d7 |
+WM_TOP_TITLE_SHADOW \
|
|
Packit |
b099d7 |
+WM_BOTTOM_TITLE_SHADOW)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* stretch directions - (starts at NW and goes clockwise) */
|
|
Packit |
b099d7 |
#define STRETCH_NO_DIRECTION -1
|
|
Packit |
b099d7 |
#define STRETCH_NORTH_WEST 0
|
|
Packit |
b099d7 |
#define STRETCH_NORTH 1
|
|
Packit |
b099d7 |
#define STRETCH_NORTH_EAST 2
|
|
Packit |
b099d7 |
#define STRETCH_EAST 3
|
|
Packit |
b099d7 |
#define STRETCH_SOUTH_EAST 4
|
|
Packit |
b099d7 |
#define STRETCH_SOUTH 5
|
|
Packit |
b099d7 |
#define STRETCH_SOUTH_WEST 6
|
|
Packit |
b099d7 |
#define STRETCH_WEST 7
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define STRETCH_COUNT 8
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Workspace allocation granularity */
|
|
Packit |
b099d7 |
#define WS_ALLOC_AMOUNT 8
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Window list allocation granularity */
|
|
Packit |
b099d7 |
#define WINDOW_ALLOC_AMOUNT 16
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* function flag masks */
|
|
Packit |
b099d7 |
#define WM_FUNC_DEFAULT MWM_FUNC_ALL
|
|
Packit |
b099d7 |
#define WM_FUNC_NONE 0
|
|
Packit |
b099d7 |
#define WM_FUNC_ALL (MWM_FUNC_RESIZE | MWM_FUNC_MOVE |\
|
|
Packit |
b099d7 |
MWM_FUNC_MINIMIZE | MWM_FUNC_MAXIMIZE |\
|
|
Packit |
b099d7 |
MWM_FUNC_CLOSE)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* decorations flag masks */
|
|
Packit |
b099d7 |
#define WM_DECOR_DEFAULT MWM_DECOR_ALL
|
|
Packit |
b099d7 |
#define WM_DECOR_NONE 0
|
|
Packit |
b099d7 |
#define WM_DECOR_BORDER (MWM_DECOR_BORDER)
|
|
Packit |
b099d7 |
#define WM_DECOR_TITLE (MWM_DECOR_TITLE)
|
|
Packit |
b099d7 |
#define WM_DECOR_SYSTEM (WM_DECOR_TITLE | MWM_DECOR_MENU)
|
|
Packit |
b099d7 |
#define WM_DECOR_MINIMIZE (WM_DECOR_TITLE | MWM_DECOR_MINIMIZE)
|
|
Packit |
b099d7 |
#define WM_DECOR_MAXIMIZE (WM_DECOR_TITLE | MWM_DECOR_MAXIMIZE)
|
|
Packit |
b099d7 |
#define WM_DECOR_TITLEBAR (WM_DECOR_SYSTEM | WM_DECOR_MINIMIZE |\
|
|
Packit |
b099d7 |
WM_DECOR_MAXIMIZE)
|
|
Packit |
b099d7 |
#define WM_DECOR_RESIZEH (WM_DECOR_BORDER | MWM_DECOR_RESIZEH)
|
|
Packit |
b099d7 |
#define WM_DECOR_RESIZE (WM_DECOR_RESIZEH)
|
|
Packit |
b099d7 |
#define WM_DECOR_ALL (WM_DECOR_TITLEBAR | WM_DECOR_RESIZEH)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
#define WM_DECOR_PANEL_DEFAULT WM_DECOR_BORDER
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* icon box definitions */
|
|
Packit |
b099d7 |
#define ICON_BOX_FUNCTIONS (MWM_FUNC_RESIZE | MWM_FUNC_MOVE |\
|
|
Packit |
b099d7 |
MWM_FUNC_MINIMIZE | MWM_FUNC_MAXIMIZE)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
/* accessory panel definitions */
|
|
Packit |
b099d7 |
#define WM_FUNC_PANEL_DEFAULT (MWM_FUNC_MOVE | MWM_FUNC_MINIMIZE)
|
|
Packit |
b099d7 |
#define WM_FUNC_SUBPANEL_DEFAULT (MWM_FUNC_MOVE | MWM_FUNC_MINIMIZE|\
|
|
Packit |
b099d7 |
MWM_FUNC_CLOSE)
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
/* workspace controller definitions */
|
|
Packit |
b099d7 |
#define CONTROL_BOX_FUNCTIONS (MWM_FUNC_MOVE)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* workspace presence definitions */
|
|
Packit |
b099d7 |
#define PRESENCE_BOX_FUNCTIONS (MWM_FUNC_MOVE)
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* show feedback definitions */
|
|
Packit |
b099d7 |
#define WM_SHOW_FB_BEHAVIOR (1L << 0)
|
|
Packit |
b099d7 |
#define WM_SHOW_FB_MOVE (1L << 1)
|
|
Packit |
b099d7 |
#define WM_SHOW_FB_PLACEMENT (1L << 2)
|
|
Packit |
b099d7 |
#define WM_SHOW_FB_RESIZE (1L << 3)
|
|
Packit |
b099d7 |
#define WM_SHOW_FB_RESTART (1L << 4)
|
|
Packit |
b099d7 |
#define WM_SHOW_FB_QUIT (1L << 5)
|
|
Packit |
b099d7 |
#define WM_SHOW_FB_KILL (1L << 6)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define WM_SHOW_FB_ALL (WM_SHOW_FB_BEHAVIOR | WM_SHOW_FB_MOVE |\
|
|
Packit |
b099d7 |
WM_SHOW_FB_PLACEMENT | WM_SHOW_FB_RESIZE |\
|
|
Packit |
b099d7 |
WM_SHOW_FB_RESTART | WM_SHOW_FB_QUIT |\
|
|
Packit |
b099d7 |
WM_SHOW_FB_KILL)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define WM_SHOW_FB_NONE 0
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define WM_SHOW_FB_DEFAULT WM_SHOW_FB_ALL
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
/* flags identifying resources to save */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define WM_RES_WORKSPACE_LIST (1L << 0)
|
|
Packit |
b099d7 |
#define WM_RES_BACKDROP_IMAGE (1L << 1)
|
|
Packit |
b099d7 |
#define WM_RES_WORKSPACE_TITLE (1L << 2)
|
|
Packit |
b099d7 |
#define WM_RES_INITIAL_WORKSPACE (1L << 3)
|
|
Packit |
b099d7 |
#define WM_RES_FP_POSITION (1L << 4)
|
|
Packit |
b099d7 |
#define WM_RES_ICONBOX_GEOMETRY (1L << 5)
|
|
Packit |
b099d7 |
#define WM_RES_WORKSPACE_COUNT (1L << 6)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Miscellaneous utility window manager data structures ...
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* These data structures are used in resource processing, ...
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WHSize
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int width;
|
|
Packit |
b099d7 |
int height;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} WHSize;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _AspectRatio
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int x;
|
|
Packit |
b099d7 |
int y;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} AspectRatio;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WmColorData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Screen *screen;
|
|
Packit |
b099d7 |
Colormap colormap;
|
|
Packit |
b099d7 |
Pixel background;
|
|
Packit |
b099d7 |
Pixel foreground;
|
|
Packit |
b099d7 |
Pixel top_shadow;
|
|
Packit |
b099d7 |
Pixel bottom_shadow;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} WmColorData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
typedef Atom WorkspaceID;
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Event processing data structures ...
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* These data structures are used in saving button and key
|
|
Packit |
b099d7 |
* specifications that are used in processing events that are used to do
|
|
Packit |
b099d7 |
* window manager functions (e.g., set the colormap focus).
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef unsigned long Context;
|
|
Packit |
b099d7 |
typedef unsigned long Behavior;
|
|
Packit |
b099d7 |
typedef unsigned long GroupArg;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef Boolean (*WmFunction) ();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NO_MODIFIER 0 /* value for state field */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _KeySpec
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
unsigned int state;
|
|
Packit |
b099d7 |
KeyCode keycode;
|
|
Packit |
b099d7 |
Context context;
|
|
Packit |
b099d7 |
Context subContext;
|
|
Packit |
b099d7 |
WmFunction wmFunction;
|
|
Packit |
b099d7 |
String wmFuncArgs;
|
|
Packit |
b099d7 |
struct _KeySpec *nextKeySpec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} KeySpec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _ButtonSpec
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
unsigned int state;
|
|
Packit |
b099d7 |
unsigned int button;
|
|
Packit |
b099d7 |
unsigned int eventType;
|
|
Packit |
b099d7 |
Boolean click;
|
|
Packit |
b099d7 |
Context context;
|
|
Packit |
b099d7 |
Context subContext;
|
|
Packit |
b099d7 |
WmFunction wmFunction;
|
|
Packit |
b099d7 |
String wmFuncArgs;
|
|
Packit |
b099d7 |
struct _ButtonSpec *nextButtonSpec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} ButtonSpec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Context field values:
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_CONTEXT_NONE 0
|
|
Packit |
b099d7 |
#define F_CONTEXT_ROOT (1L << 0)
|
|
Packit |
b099d7 |
#define F_CONTEXT_ICON (1L << 1)
|
|
Packit |
b099d7 |
#define F_CONTEXT_NORMAL (1L << 2)
|
|
Packit |
b099d7 |
#define F_CONTEXT_MAXIMIZE (1L << 3)
|
|
Packit |
b099d7 |
#define F_CONTEXT_ICONBOX (1L << 4)
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define F_CONTEXT_IFKEY (1L << 7)
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
#define F_CONTEXT_WINDOW (F_CONTEXT_NORMAL|F_CONTEXT_MAXIMIZE)
|
|
Packit |
b099d7 |
#define F_CONTEXT_ALL (F_CONTEXT_ROOT|F_CONTEXT_ICON|F_CONTEXT_WINDOW)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* context field mark for catching menu recursion
|
|
Packit |
b099d7 |
* (tied to F_CONTEXT_... values):
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define CR_MENU_MARK (1L << 5)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Part context defines for event processing. The part context is used
|
|
Packit |
b099d7 |
* to make a subcontext mask.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* window (frame and client) part contexts */
|
|
Packit |
b099d7 |
#define WINDOW_PART_NONE 0
|
|
Packit |
b099d7 |
#define FRAME_NONE WINDOW_PART_NONE
|
|
Packit |
b099d7 |
#define FRAME_CLIENT 1
|
|
Packit |
b099d7 |
#define FRAME_SYSTEM 2
|
|
Packit |
b099d7 |
#define FRAME_TITLE 3
|
|
Packit |
b099d7 |
#define FRAME_MINIMIZE 4
|
|
Packit |
b099d7 |
#define FRAME_MAXIMIZE 5
|
|
Packit |
b099d7 |
#define FRAME_RESIZE_NW 6
|
|
Packit |
b099d7 |
#define FRAME_RESIZE_N 7
|
|
Packit |
b099d7 |
#define FRAME_RESIZE_NE 8
|
|
Packit |
b099d7 |
#define FRAME_RESIZE_E 9
|
|
Packit |
b099d7 |
#define FRAME_RESIZE_SE 10
|
|
Packit |
b099d7 |
#define FRAME_RESIZE_S 11
|
|
Packit |
b099d7 |
#define FRAME_RESIZE_SW 12
|
|
Packit |
b099d7 |
#define FRAME_RESIZE_W 13
|
|
Packit |
b099d7 |
#define FRAME_NBORDER 14
|
|
Packit |
b099d7 |
#define FRAME_MATTE 15
|
|
Packit |
b099d7 |
#define FRAME_MISC FRAME_MATTE
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define FRAME_TITLEBAR 17
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* icon part contexts */
|
|
Packit |
b099d7 |
#define ICON_PART_NONE 0
|
|
Packit |
b099d7 |
#define ICON_PART_ALL 16
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* root part contexts */
|
|
Packit |
b099d7 |
#define ROOT_PART_NONE 0
|
|
Packit |
b099d7 |
#define ROOT_PART_ALL 17
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* iconbox part contexts */
|
|
Packit |
b099d7 |
#define ICONBOX_PART_NONE 0
|
|
Packit |
b099d7 |
#define ICONBOX_PART_IBOX 18
|
|
Packit |
b099d7 |
#define ICONBOX_PART_IICON 19
|
|
Packit |
b099d7 |
#define ICONBOX_PART_WICON 20
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Subcontext field values:
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_NONE (1L << WINDOW_PART_NONE)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_I_ALL (1L << ICON_PART_ALL)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_R_ALL (1L << ROOT_PART_ALL)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_IB_IBOX (1L << ICONBOX_PART_IBOX)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_IB_IICON (1L << ICONBOX_PART_IICON)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_IB_WICON (1L << ICONBOX_PART_WICON)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_IB_ICONS (F_SUBCONTEXT_IB_IICON |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_IB_WICON)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_IB_ALL (F_SUBCONTEXT_IB_IBOX |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_IB_IICON |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_IB_WICON)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_CLIENT (1L << FRAME_CLIENT)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_APP F_SUBCONTEXT_W_CLIENT
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_SYSTEM (1L << FRAME_SYSTEM)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_TITLE (1L << FRAME_TITLE)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_MINIMIZE (1L << FRAME_MINIMIZE)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_MAXIMIZE (1L << FRAME_MAXIMIZE)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_RESIZE_NW (1L << FRAME_RESIZE_NW)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_RESIZE_N (1L << FRAME_RESIZE_N)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_RESIZE_NE (1L << FRAME_RESIZE_NE)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_RESIZE_E (1L << FRAME_RESIZE_E)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_RESIZE_SE (1L << FRAME_RESIZE_SE)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_RESIZE_S (1L << FRAME_RESIZE_S)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_RESIZE_SW (1L << FRAME_RESIZE_SW)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_RESIZE_W (1L << FRAME_RESIZE_W)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_NBORDER (1L << FRAME_NBORDER)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_MATTE (1L << FRAME_MATTE)
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_MISC F_SUBCONTEXT_W_MATTE
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_RBORDER (F_SUBCONTEXT_W_RESIZE_NW |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_RESIZE_N |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_RESIZE_NE |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_RESIZE_E |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_RESIZE_SE |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_RESIZE_S |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_RESIZE_SW |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_RESIZE_W)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_BORDER (F_SUBCONTEXT_W_RBORDER |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_NBORDER)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_TITLEBAR (F_SUBCONTEXT_W_SYSTEM |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_TITLE |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_MINIMIZE |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_MAXIMIZE)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_FRAME (F_SUBCONTEXT_W_BORDER |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_TITLEBAR)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_SUBCONTEXT_W_ALL (F_SUBCONTEXT_W_FRAME |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_MATTE |\
|
|
Packit |
b099d7 |
F_SUBCONTEXT_W_CLIENT)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Click / double-click processing data:
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _ClickData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Boolean clickPending;
|
|
Packit |
b099d7 |
Boolean doubleClickPending;
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
Boolean bReplayed;
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
unsigned int button;
|
|
Packit |
b099d7 |
unsigned int state;
|
|
Packit |
b099d7 |
unsigned int releaseState;
|
|
Packit |
b099d7 |
struct _ClientData *pCD;
|
|
Packit |
b099d7 |
Context context;
|
|
Packit |
b099d7 |
Context subContext;
|
|
Packit |
b099d7 |
Context clickContext;
|
|
Packit |
b099d7 |
Context doubleClickContext;
|
|
Packit |
b099d7 |
Time time;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} ClickData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Frame part identification aids:
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _Gadget_Rectangle
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
short id;
|
|
Packit |
b099d7 |
XRectangle rect;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} GadgetRectangle;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Behavior function argument field values:
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_BEHAVIOR_DEFAULT (1L << 0)
|
|
Packit |
b099d7 |
#define F_BEHAVIOR_CUSTOM (1L << 1)
|
|
Packit |
b099d7 |
#define F_BEHAVIOR_SWITCH (1L << 2)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Window/icon group function argument field values:
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define F_GROUP_WINDOW (1L << 0)
|
|
Packit |
b099d7 |
#define F_GROUP_ICON (1L << 1)
|
|
Packit |
b099d7 |
#define F_GROUP_DEFAULT (F_GROUP_WINDOW | F_GROUP_ICON)
|
|
Packit |
b099d7 |
#define F_GROUP_TRANSIENT (1L << 2)
|
|
Packit |
b099d7 |
#define F_GROUP_ALL (F_GROUP_DEFAULT | F_GROUP_TRANSIENT)
|
|
Packit |
b099d7 |
#define F_GROUP_GROUP (1L << 3)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Workspace data structures ...
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
***************************************************************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Specific data for workspacePresence dialog box
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WsPresenceData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmString title; /* resource */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget shellW;
|
|
Packit |
b099d7 |
Widget formW;
|
|
Packit |
b099d7 |
Widget windowLabelW;
|
|
Packit |
b099d7 |
Widget windowNameW;
|
|
Packit |
b099d7 |
Widget workspaceLabelW;
|
|
Packit |
b099d7 |
Widget workspaceScrolledListW;
|
|
Packit |
b099d7 |
Widget workspaceListW;
|
|
Packit |
b099d7 |
Widget allWsW;
|
|
Packit |
b099d7 |
Widget sepW;
|
|
Packit |
b099d7 |
Widget OkW;
|
|
Packit |
b099d7 |
Widget CancelW;
|
|
Packit |
b099d7 |
Widget HelpW;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
struct _ClientData *pCDforClient;
|
|
Packit |
b099d7 |
Context contextForClient;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean *ItemSelected; /* workspaces in list */
|
|
Packit |
b099d7 |
XmStringTable ItemStrings; /* workspace names */
|
|
Packit |
b099d7 |
int currentWsItem;
|
|
Packit |
b099d7 |
Boolean onScreen;
|
|
Packit |
b099d7 |
Boolean userDismissed;
|
|
Packit |
b099d7 |
int numWorkspaces;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} WsPresenceData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NUM_WSP_WIDGETS 11
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WsPresenceData *PtrWsPresenceData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Specific data for top level help dialog
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WsDtHelpData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmString title; /* resource */
|
|
Packit |
b099d7 |
Widget shell;
|
|
Packit |
b099d7 |
Widget dialog;
|
|
Packit |
b099d7 |
Widget errorDialog;
|
|
Packit |
b099d7 |
Position xPos;
|
|
Packit |
b099d7 |
Position yPos;
|
|
Packit |
b099d7 |
Boolean restored;
|
|
Packit |
b099d7 |
Boolean onScreen;
|
|
Packit |
b099d7 |
Boolean userDismissed;
|
|
Packit |
b099d7 |
Boolean bMapped;
|
|
Packit |
b099d7 |
struct _ClientData *pCDforClient;
|
|
Packit |
b099d7 |
} WsDtHelpData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WsDtHelpData *PtrWsDtHelpData;
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* DtSessionItems
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _DtSessionItem
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Boolean processed;
|
|
Packit |
b099d7 |
int clientState;
|
|
Packit |
b099d7 |
String workspaces;
|
|
Packit |
b099d7 |
String clientMachine;
|
|
Packit |
b099d7 |
String command;
|
|
Packit |
b099d7 |
int commandArgc;
|
|
Packit |
b099d7 |
char **commandArgv;
|
|
Packit |
b099d7 |
struct _SessionGeom *sessionGeom;
|
|
Packit |
b099d7 |
} DtSessionItem;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _SessionGeom
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int flags;
|
|
Packit |
b099d7 |
int clientX;
|
|
Packit |
b099d7 |
int clientY;
|
|
Packit |
b099d7 |
int clientWidth;
|
|
Packit |
b099d7 |
int clientHeight;
|
|
Packit |
b099d7 |
} SessionGeom;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Status of Session Manager Contention Management
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define SM_UNITIALIZED 0
|
|
Packit |
b099d7 |
#define SM_START_ACK 1
|
|
Packit |
b099d7 |
#define SM_STOP_ACK 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Menu specification data structures ...
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* These data structures are used in creating window manager menus that
|
|
Packit |
b099d7 |
* are specified using resource files. A list of menu specifications
|
|
Packit |
b099d7 |
* (MenuSpec) is made when the resource files are parsed. The desktop
|
|
Packit |
b099d7 |
* menu and system menus are created as needed using the menu specification
|
|
Packit |
b099d7 |
* list.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Used to denote where the separators belong in a pair of separators
|
|
Packit |
b099d7 |
* used to surround a client command.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
enum { TOP_SEPARATOR, BOTTOM_SEPARATOR };
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Used to denote what kind of change to make to a client command.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef enum { ENABLE, DISABLE, REMOVE, RENAME } CmdModifier;
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _MenuItem
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int labelType;
|
|
Packit |
b099d7 |
String label;
|
|
Packit |
b099d7 |
int labelBitmapIndex;
|
|
Packit |
b099d7 |
KeySym mnemonic;
|
|
Packit |
b099d7 |
unsigned int accelState;
|
|
Packit |
b099d7 |
KeyCode accelKeyCode;
|
|
Packit |
b099d7 |
String accelText;
|
|
Packit |
b099d7 |
WmFunction wmFunction;
|
|
Packit |
b099d7 |
String wmFuncArgs;
|
|
Packit |
b099d7 |
Context greyedContext;
|
|
Packit |
b099d7 |
long mgtMask;
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
String clientCommandName; /* as specified by the user in
|
|
Packit |
b099d7 |
his .mwmrc file. */
|
|
Packit |
b099d7 |
CARD32 clientCommandID;
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
struct _MenuItem *nextMenuItem;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} MenuItem;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* We use the top part of mgtMask for workspace function bits.
|
|
Packit |
b099d7 |
* When OSF MWM outgrows the lower 16 bits, we'll have to
|
|
Packit |
b099d7 |
* change how we do things.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define MWM_MGT_MASK 0x0000FFFF
|
|
Packit |
b099d7 |
#define DTWM_MGT_MASK 0xFFFF0000
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _MenuButton
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
MenuItem *menuItem;
|
|
Packit |
b099d7 |
Widget buttonWidget;
|
|
Packit |
b099d7 |
Boolean managed;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} MenuButton;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
typedef struct _MenuExclusion
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
String command_string;
|
|
Packit |
b099d7 |
struct _MenuExclusion *nextExclusion;
|
|
Packit |
b099d7 |
} MenuExclusion;
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _MenuSpec
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
String name;
|
|
Packit |
b099d7 |
Context currentContext;
|
|
Packit |
b099d7 |
Widget menuWidget; /* RowColumn widget */
|
|
Packit |
b099d7 |
unsigned int whichButton; /* tracks whichButton resource for top menu */
|
|
Packit |
b099d7 |
unsigned int height; /* height of top menu */
|
|
Packit |
b099d7 |
MenuItem *menuItems; /* linked list of MenuItem structures */
|
|
Packit |
b099d7 |
MenuButton *menuButtons; /* array of MenuButton structures */
|
|
Packit |
b099d7 |
unsigned int menuButtonSize; /* size of menuButtons array */
|
|
Packit |
b099d7 |
unsigned int menuButtonCount; /* number of menuButtons elements in use */
|
|
Packit |
b099d7 |
Context accelContext; /* accelerator context */
|
|
Packit |
b099d7 |
KeySpec *accelKeySpecs; /* list of accelerator KeySpecs */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
MenuExclusion *exclusions; /* list of client commands to be
|
|
Packit |
b099d7 |
excluded from this menu. */
|
|
Packit |
b099d7 |
Boolean clientLocal; /* this menu is owned by a client and not
|
|
Packit |
b099d7 |
shared with any other clients */
|
|
Packit |
b099d7 |
CARD32 commandID; /* if this is a client command, then this
|
|
Packit |
b099d7 |
its id value - globally unique. */
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
struct _MenuSpec *nextMenuSpec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} MenuSpec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
/* The range to which a client command operation should apply. */
|
|
Packit |
b099d7 |
typedef enum { SINGLE, ROOT, ALL } OpRange;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _CmdTree {
|
|
Packit |
b099d7 |
CARD32 commandID; /* unique identifier for this command. */
|
|
Packit |
b099d7 |
CARD32 notifyWindow;/* window to receive InvokeCommand request. */
|
|
Packit |
b099d7 |
char *name; /* name of command refered to in .mwmrc. */
|
|
Packit |
b099d7 |
char *defaultName; /* default label of menu. */
|
|
Packit |
b099d7 |
struct _CmdTree *subTrees; /* list of child commands or command sets. */
|
|
Packit |
b099d7 |
struct _CmdTree *next;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} CmdTree;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _matchlist {
|
|
Packit |
b099d7 |
MenuSpec *menuspec;
|
|
Packit |
b099d7 |
MenuItem *menuitem;
|
|
Packit |
b099d7 |
String command_string;
|
|
Packit |
b099d7 |
CmdTree *treenode;
|
|
Packit |
b099d7 |
WmFunction function;
|
|
Packit |
b099d7 |
String funcargs;
|
|
Packit |
b099d7 |
Context greyed_context;
|
|
Packit |
b099d7 |
struct _matchlist *next;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} MatchList;
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Window and function specification data structures ...
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WindowItem
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
String window;
|
|
Packit |
b099d7 |
struct _WindowItem *nextWindowItem;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} WindowItem;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WindowSet
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
String name;
|
|
Packit |
b099d7 |
WindowItem *windowItems;
|
|
Packit |
b099d7 |
struct _WindowSet *nextWindowSet;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} WindowSet;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _FunctionItem
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
WmFunction wmFunction;
|
|
Packit |
b099d7 |
String wmFuncArgs;
|
|
Packit |
b099d7 |
struct _FunctionItem *nextFunctionItem;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} FunctionItem;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _FunctionSet
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
String name;
|
|
Packit |
b099d7 |
FunctionItem *functionItems;
|
|
Packit |
b099d7 |
struct _FunctionSet *nextFunctionSet;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} FunctionSet;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Window manager timer data structure ...
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This data stucture is used to keep track of window manager timers. Each
|
|
Packit |
b099d7 |
* active timer has an instance of the data structure.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WmTimer
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtIntervalId timerId;
|
|
Packit |
b099d7 |
struct _ClientData *timerCD;
|
|
Packit |
b099d7 |
unsigned int timerType;
|
|
Packit |
b099d7 |
struct _WmTimer *nextWmTimer;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} WmTimer;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Timer types: */
|
|
Packit |
b099d7 |
#define TIMER_NONE 0
|
|
Packit |
b099d7 |
#define TIMER_QUIT 1
|
|
Packit |
b099d7 |
#define TIMER_RAISE 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Window manager frame component data structures
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This data stucture is used for drawing frame component graphics.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _RList
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int allocated; /* number of allocated XRectangles */
|
|
Packit |
b099d7 |
int used; /* number currently in use */
|
|
Packit |
b099d7 |
XRectangle *prect; /* array of XRectangles */
|
|
Packit |
b099d7 |
} RList;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Window manager component appearance data structure ...
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This structure is used to hold component appearance data for client,
|
|
Packit |
b099d7 |
* icon, and feedback subparts.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _AppearanceData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmFontList fontList; /* resource */
|
|
Packit |
b099d7 |
XFontStruct *font;
|
|
Packit |
b099d7 |
#ifndef NO_MULTIBYTE
|
|
Packit |
b099d7 |
unsigned int titleHeight; /* title bar's height */
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
Boolean saveUnder; /* resource */
|
|
Packit |
b099d7 |
Pixel background; /* resource */
|
|
Packit |
b099d7 |
Pixel foreground; /* resource */
|
|
Packit |
b099d7 |
String backgroundPStr; /* resource */
|
|
Packit |
b099d7 |
Pixmap backgroundPixmap;
|
|
Packit |
b099d7 |
Pixel bottomShadowColor; /* resource */
|
|
Packit |
b099d7 |
String bottomShadowPStr; /* resource */
|
|
Packit |
b099d7 |
Pixmap bottomShadowPixmap;
|
|
Packit |
b099d7 |
Pixel topShadowColor; /* resource */
|
|
Packit |
b099d7 |
String topShadowPStr; /* resource */
|
|
Packit |
b099d7 |
Pixmap topShadowPixmap;
|
|
Packit |
b099d7 |
Pixel activeBackground; /* resource */
|
|
Packit |
b099d7 |
String activeBackgroundPStr; /* resource */
|
|
Packit |
b099d7 |
Pixmap activeBackgroundPixmap;
|
|
Packit |
b099d7 |
Pixel activeBottomShadowColor; /* resource */
|
|
Packit |
b099d7 |
String activeBottomShadowPStr; /* resource */
|
|
Packit |
b099d7 |
Pixmap activeBottomShadowPixmap;
|
|
Packit |
b099d7 |
Pixel activeForeground; /* resource */
|
|
Packit |
b099d7 |
Pixel activeTopShadowColor; /* resource */
|
|
Packit |
b099d7 |
String activeTopShadowPStr; /* resource */
|
|
Packit |
b099d7 |
Pixmap activeTopShadowPixmap;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
GC inactiveGC;
|
|
Packit |
b099d7 |
GC inactiveTopShadowGC;
|
|
Packit |
b099d7 |
GC inactiveBottomShadowGC;
|
|
Packit |
b099d7 |
GC activeGC;
|
|
Packit |
b099d7 |
GC activeTopShadowGC;
|
|
Packit |
b099d7 |
GC activeBottomShadowGC;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} AppearanceData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _AppearanceData *PtrAppearanceData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* IconInfo
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _IconInfo
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Widget theWidget;
|
|
Packit |
b099d7 |
struct _ClientData *pCD;
|
|
Packit |
b099d7 |
} IconInfo;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _IconInfo *PtrIconInfo;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* IconPlacement
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _IconPlacementData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Boolean onRootWindow; /* true if icons on root window */
|
|
Packit |
b099d7 |
unsigned iconPlacement; /* style of placement */
|
|
Packit |
b099d7 |
int placementRows; /* number of rows in placement space */
|
|
Packit |
b099d7 |
int placementCols; /* number of cols in placement space */
|
|
Packit |
b099d7 |
int totalPlaces; /* total number of placment slots */
|
|
Packit |
b099d7 |
int iPlaceW; /* width increment (to next place) */
|
|
Packit |
b099d7 |
int iPlaceH; /* height increment (to next place) */
|
|
Packit |
b099d7 |
IconInfo *placeList; /* list of icon info */
|
|
Packit |
b099d7 |
int placeIconX;
|
|
Packit |
b099d7 |
int placeIconY;
|
|
Packit |
b099d7 |
int *placementRowY;
|
|
Packit |
b099d7 |
int *placementColX;
|
|
Packit |
b099d7 |
} IconPlacementData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* IconBoxData
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This structure is used to hold window and widget information for
|
|
Packit |
b099d7 |
* each icon box.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _IconBoxData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Widget shellWidget;
|
|
Packit |
b099d7 |
Widget frameWidget;
|
|
Packit |
b099d7 |
Widget scrolledWidget;
|
|
Packit |
b099d7 |
Widget vScrollBar;
|
|
Packit |
b099d7 |
Widget hScrollBar;
|
|
Packit |
b099d7 |
Widget bBoardWidget;
|
|
Packit |
b099d7 |
Widget clipWidget;
|
|
Packit |
b099d7 |
int numberOfIcons;
|
|
Packit |
b099d7 |
int currentRow;
|
|
Packit |
b099d7 |
int currentCol;
|
|
Packit |
b099d7 |
int lastRow;
|
|
Packit |
b099d7 |
int lastCol;
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
WorkspaceID wsID; /* workspace identifier */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
struct _ClientData *pCD_iconBox; /* ptr to its own clientdata */
|
|
Packit |
b099d7 |
struct _IconBoxData *pNextIconBox; /* ptr to next icon box */
|
|
Packit |
b099d7 |
struct _IconPlacementData IPD; /* icon placement data */
|
|
Packit |
b099d7 |
} IconBoxData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _IconBoxData *PtrIconBoxData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define IB_SPACING 0
|
|
Packit |
b099d7 |
#define IB_MARGIN_HEIGHT 3
|
|
Packit |
b099d7 |
#define IB_MARGIN_WIDTH 3
|
|
Packit |
b099d7 |
#define IB_HIGHLIGHT_BORDER 3
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Bitmap/Pixmap cache data
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* These structures are used for the bitmap and pixmap caches held
|
|
Packit |
b099d7 |
* on a per-screen basis. (This is per-screen because you can't do
|
|
Packit |
b099d7 |
* XCopyPlane from one pixmap to another when they have different
|
|
Packit |
b099d7 |
* roots.)
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NO_PIXMAP 0
|
|
Packit |
b099d7 |
#define LABEL_PIXMAP 1
|
|
Packit |
b099d7 |
#define ICON_PIXMAP 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _PixmapCache
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
unsigned int pixmapType; /* icon or label? */
|
|
Packit |
b099d7 |
Pixel foreground;
|
|
Packit |
b099d7 |
Pixel background;
|
|
Packit |
b099d7 |
Pixmap pixmap;
|
|
Packit |
b099d7 |
struct _PixmapCache *next;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} PixmapCache;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _BitmapCache
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
char *path;
|
|
Packit |
b099d7 |
Pixmap bitmap;
|
|
Packit |
b099d7 |
unsigned int width;
|
|
Packit |
b099d7 |
unsigned int height;
|
|
Packit |
b099d7 |
PixmapCache *pixmapCache;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} BitmapCache;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Client window list entry data structure ...
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This structure provides the data for an entry in the client window list.
|
|
Packit |
b099d7 |
* The client window list has an entry for each non-transient client
|
|
Packit |
b099d7 |
* window and each non-iconbox icon.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
******************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _ClientListEntry
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
struct _ClientListEntry *nextSibling;
|
|
Packit |
b099d7 |
struct _ClientListEntry *prevSibling;
|
|
Packit |
b099d7 |
int type;
|
|
Packit |
b099d7 |
struct _ClientData *pCD;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} ClientListEntry;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Frame information
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This structure contains geometry information for the window manager
|
|
Packit |
b099d7 |
* frame.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _FrameInfo
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int x;
|
|
Packit |
b099d7 |
int y;
|
|
Packit |
b099d7 |
unsigned int width;
|
|
Packit |
b099d7 |
unsigned int height;
|
|
Packit |
b099d7 |
unsigned int upperBorderWidth;
|
|
Packit |
b099d7 |
unsigned int lowerBorderWidth;
|
|
Packit |
b099d7 |
unsigned int cornerWidth;
|
|
Packit |
b099d7 |
unsigned int cornerHeight;
|
|
Packit |
b099d7 |
unsigned int titleBarHeight;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} FrameInfo;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* WmScreenData
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This is the data structure for holding the window manager's
|
|
Packit |
b099d7 |
* screen data. There is one instantiation of the structure for
|
|
Packit |
b099d7 |
* each screen.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WmScreenData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int dataType;
|
|
Packit |
b099d7 |
int screen; /* number for this screen */
|
|
Packit |
b099d7 |
Boolean managed;
|
|
Packit |
b099d7 |
Window rootWindow;
|
|
Packit |
b099d7 |
Widget screenTopLevelW;
|
|
Packit |
b099d7 |
Widget screenTopLevelW1; /* for internal WM components */
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
Widget utmShell; /* DrawingArea used for UTM */
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
Widget confirmboxW[4];
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
Widget wPanelist; /* panel object */
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
WsPresenceData presence; /* workspace presence dialog*/
|
|
Packit |
b099d7 |
Widget switcherW; /* workspace switcher */
|
|
Packit |
b099d7 |
Widget switcherShellW; /* shell for ws switcher */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
Window wmWorkspaceWin; /* holds wm properties */
|
|
Packit |
b099d7 |
Window feedbackWin;
|
|
Packit |
b099d7 |
Window activeIconTextWin;
|
|
Packit |
b099d7 |
Window activeLabelParent;
|
|
Packit |
b099d7 |
String displayString; /* used for putenv in F_Exec */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
int displayResolutionType;
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
struct _WmFpEmbeddedClientData *pECD; /* clients living in front panel */
|
|
Packit |
b099d7 |
int numEmbeddedClients;
|
|
Packit |
b099d7 |
struct _WmFpPushRecallClientData *pPRCD; /* push_recall clients */
|
|
Packit |
b099d7 |
int numPushRecallClients;
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* wm state info: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
unsigned long clientCounter;
|
|
Packit |
b099d7 |
long focusPriority;
|
|
Packit |
b099d7 |
Window inputScreenWindow;
|
|
Packit |
b099d7 |
struct _ClientData *colormapFocus;
|
|
Packit |
b099d7 |
Colormap workspaceColormap;
|
|
Packit |
b099d7 |
Colormap lastInstalledColormap;
|
|
Packit |
b099d7 |
struct _WmWorkspaceData *pActiveWS; /* for this screen */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
struct _WmWorkspaceData *pLastWS; /* previously active WS */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
CmdTree *cciTree; /* pointer to cci definitions */
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* per screen caches */
|
|
Packit |
b099d7 |
BitmapCache *bitmapCache;
|
|
Packit |
b099d7 |
unsigned int bitmapCacheSize;
|
|
Packit |
b099d7 |
unsigned int bitmapCacheCount;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* per screen icon info */
|
|
Packit |
b099d7 |
Boolean fadeNormalIcon; /* resource */
|
|
Packit |
b099d7 |
int iconPlacement; /* resource */
|
|
Packit |
b099d7 |
int iconPlacementMargin; /* resource */
|
|
Packit |
b099d7 |
int iconDecoration; /* resource */
|
|
Packit |
b099d7 |
WHSize iconImageMaximum; /* resource */
|
|
Packit |
b099d7 |
WHSize iconImageMinimum; /* resource */
|
|
Packit |
b099d7 |
Pixmap builtinIconPixmap;
|
|
Packit |
b099d7 |
int iconWidth;
|
|
Packit |
b099d7 |
int iconHeight;
|
|
Packit |
b099d7 |
int iconImageHeight;
|
|
Packit |
b099d7 |
int iconLabelHeight;
|
|
Packit |
b099d7 |
GC shrinkWrapGC;
|
|
Packit |
b099d7 |
GC fadeIconGC;
|
|
Packit |
b099d7 |
GC fadeIconTextGC;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* per screen configuration outline windows */
|
|
Packit |
b099d7 |
Window woN; /* North outline window */
|
|
Packit |
b099d7 |
Window woS; /* South outline window */
|
|
Packit |
b099d7 |
Window woE; /* East outline window */
|
|
Packit |
b099d7 |
Window woW; /* West outline window */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* per screen feedback data */
|
|
Packit |
b099d7 |
unsigned long fbStyle;
|
|
Packit |
b099d7 |
unsigned int fbWinWidth;
|
|
Packit |
b099d7 |
unsigned int fbWinHeight;
|
|
Packit |
b099d7 |
char fbLocation[20];
|
|
Packit |
b099d7 |
char fbSize[20];
|
|
Packit |
b099d7 |
int fbLocX;
|
|
Packit |
b099d7 |
int fbLocY;
|
|
Packit |
b099d7 |
int fbSizeX;
|
|
Packit |
b099d7 |
int fbSizeY;
|
|
Packit |
b099d7 |
int fbLastX;
|
|
Packit |
b099d7 |
int fbLastY;
|
|
Packit |
b099d7 |
unsigned int fbLastWidth;
|
|
Packit |
b099d7 |
unsigned int fbLastHeight;
|
|
Packit |
b099d7 |
RList *fbTop;
|
|
Packit |
b099d7 |
RList *fbBottom;
|
|
Packit |
b099d7 |
int actionNbr;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* resource description file data: */
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
String rootMenu; /* resource */
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
String buttonBindings; /* resource */
|
|
Packit |
b099d7 |
ButtonSpec *buttonSpecs;
|
|
Packit |
b099d7 |
String keyBindings; /* resource */
|
|
Packit |
b099d7 |
KeySpec *keySpecs;
|
|
Packit |
b099d7 |
MenuSpec **acceleratorMenuSpecs;
|
|
Packit |
b099d7 |
unsigned int acceleratorMenuCount;
|
|
Packit |
b099d7 |
MenuSpec *menuSpecs;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean defaultSystemMenuUseBuiltin;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Pixmap defaultPixmap;
|
|
Packit |
b099d7 |
GC xorGC;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* per screen appearance resources */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean cleanText; /* resource */
|
|
Packit |
b099d7 |
Boolean decoupleTitleAppearance; /* see clientTitleAppearance */
|
|
Packit |
b099d7 |
int frameBorderWidth; /* resource */
|
|
Packit |
b099d7 |
String feedbackGeometry; /* resource */
|
|
Packit |
b099d7 |
#ifndef WSM
|
|
Packit |
b099d7 |
String iconBoxGeometry; /* resource */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
String iconBoxName; /* resource */
|
|
Packit |
b099d7 |
String iconBoxSBDisplayPolicy; /* resource */
|
|
Packit |
b099d7 |
int iconBoxScheme; /* resource - testing */
|
|
Packit |
b099d7 |
XmString iconBoxTitle; /* resource */
|
|
Packit |
b099d7 |
int externalBevel;
|
|
Packit |
b099d7 |
int joinBevel;
|
|
Packit |
b099d7 |
Boolean limitResize; /* resource */
|
|
Packit |
b099d7 |
WHSize maximumMaximumSize; /* resource */
|
|
Packit |
b099d7 |
int resizeBorderWidth; /* resource */
|
|
Packit |
b099d7 |
Boolean resizeCursors; /* resource */
|
|
Packit |
b099d7 |
int transientDecoration; /* resource */
|
|
Packit |
b099d7 |
int transientFunctions; /* resource */
|
|
Packit |
b099d7 |
Boolean useIconBox; /* resource */
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
int subpanelDecoration; /* resource */
|
|
Packit |
b099d7 |
String subpanelResources; /*to restore subpanels */
|
|
Packit |
b099d7 |
Boolean iconBoxControl; /* FP control for icon box */
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
Boolean moveOpaque; /* move window not outlines */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* pixel set info (from color object) */
|
|
Packit |
b099d7 |
XmPixelSet *pPixelData; /* all pixel data */
|
|
Packit |
b099d7 |
XmPixelSet *pActivePixelSet; /* ptr into pPixelData */
|
|
Packit |
b099d7 |
XmPixelSet *pInactivePixelSet; /* ptr into pPixelData */
|
|
Packit |
b099d7 |
XmPixelSet *pPrimaryPixelSet; /* ptr into pPixelData */
|
|
Packit |
b099d7 |
XmPixelSet *pSecondaryPixelSet; /* ptr into pPixelData */
|
|
Packit |
b099d7 |
XmPixelSet *pTextPixelSet; /* ptr into pPixelData */
|
|
Packit |
b099d7 |
int colorUse; /* indication from color obj */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client frame component appearance resources and data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
AppearanceData clientAppearance; /* resources ... */
|
|
Packit |
b099d7 |
AppearanceData clientTitleAppearance; /* resources ... */
|
|
Packit |
b099d7 |
XPoint transientOffset;
|
|
Packit |
b099d7 |
int Num_Resize_Ts_Elements;
|
|
Packit |
b099d7 |
int Num_Resize_Bs_Elements;
|
|
Packit |
b099d7 |
int Num_Title_Ts_Elements;
|
|
Packit |
b099d7 |
int Num_Title_Bs_Elements;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* icon component appearance resources and data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
AppearanceData iconAppearance; /* resources ... */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* feedback component appearance resources and data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
AppearanceData feedbackAppearance; /* resources ... */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client list pointers: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ClientListEntry *clientList;
|
|
Packit |
b099d7 |
ClientListEntry *lastClient;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
/* DtSessionHints for clients */
|
|
Packit |
b099d7 |
struct _DtSessionItem *pDtSessionItems;
|
|
Packit |
b099d7 |
int totalSessionItems;
|
|
Packit |
b099d7 |
int remainingSessionItems;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* workspace list for this screen */
|
|
Packit |
b099d7 |
String initialWorkspace; /* private resource */
|
|
Packit |
b099d7 |
String workspaceList; /* resource */
|
|
Packit |
b099d7 |
int numWorkspaces;
|
|
Packit |
b099d7 |
int numWsDataAllocated;
|
|
Packit |
b099d7 |
struct _WmWorkspaceData *pWS;
|
|
Packit |
b099d7 |
Window lastBackdropWin;
|
|
Packit |
b099d7 |
struct _WsDtHelpData dtHelp;
|
|
Packit |
b099d7 |
struct _CacheListStruct *cachedHelp;
|
|
Packit |
b099d7 |
String helpResources; /* to restore help */
|
|
Packit |
b099d7 |
DtSvcHandle hWsm; /* WORKSPACEMGR message handle */
|
|
Packit |
b099d7 |
Boolean bMarqueeSelectionInitialized;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#else /* WSM */
|
|
Packit |
b099d7 |
/* workspace for this screen */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
struct _WmWorkspaceData *pWS;
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} WmScreenData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WmScreenData *PtrScreenData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Convenience macros for data access
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define ROOT_FOR_CLIENT(pcd) ((pcd)->pSD->rootWindow)
|
|
Packit |
b099d7 |
#define SCREEN_FOR_CLIENT(pcd) ((pcd)->pSD->screen)
|
|
Packit |
b099d7 |
#define PSD_FOR_CLIENT(pcd) ((pcd)->pSD)
|
|
Packit |
b099d7 |
#define BUTTON_SPECS(pcd) ((pcd)->pSD->buttonSpecs)
|
|
Packit |
b099d7 |
#define KEY_SPECS(pcd) ((pcd)->pSD->keySpecs)
|
|
Packit |
b099d7 |
#define ACCELERATOR_MENU_COUNT(pcd) ((pcd)->pSD->acceleratorMenuCount)
|
|
Packit |
b099d7 |
#define ACCELERATOR_MENU_SPECS(pcd) ((pcd)->pSD->acceleratorMenuSpecs)
|
|
Packit |
b099d7 |
#define WORKSPACE_COLORMAP(pcd) ((pcd)->pSD->workspaceColormap)
|
|
Packit |
b099d7 |
#define FADE_NORMAL_ICON(pcd) ((pcd)->pSD->fadeNormalIcon)
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
#define ICON_DEFAULT_TITLE(pcd) ((pcd)->iconDefaultTitle)
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define ICON_DECORATION(pcd) ((pcd)->pSD->iconDecoration)
|
|
Packit |
b099d7 |
#define ICON_HEIGHT(pcd) ((pcd)->pSD->iconHeight)
|
|
Packit |
b099d7 |
#define ICON_WIDTH(pcd) ((pcd)->pSD->iconWidth)
|
|
Packit |
b099d7 |
#define ICON_IMAGE_HEIGHT(pcd) ((pcd)->pSD->iconImageHeight)
|
|
Packit |
b099d7 |
#define ICON_LABEL_HEIGHT(pcd) ((pcd)->pSD->iconLabelHeight)
|
|
Packit |
b099d7 |
#define ICON_IMAGE_MAXIMUM(pcd) ((pcd)->pSD->iconImageMaximum)
|
|
Packit |
b099d7 |
#define ICON_IMAGE_MINIMUM(pcd) ((pcd)->pSD->iconImageMinimum)
|
|
Packit |
b099d7 |
#define SHRINK_WRAP_GC(pcd) ((pcd)->pSD->shrinkWrapGC)
|
|
Packit |
b099d7 |
#define FADE_ICON_GC(pcd) ((pcd)->pSD->fadeIconGC)
|
|
Packit |
b099d7 |
#define FADE_ICON_TEXT_GC(pcd) ((pcd)->pSD->fadeIconTextGC)
|
|
Packit |
b099d7 |
#define DEFAULT_PIXMAP(pcd) ((pcd)->pSD->defaultPixmap)
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define ICON_PLACE(pcd) ((pcd)->pWsList[(pcd)->currentWsc].iconPlace)
|
|
Packit |
b099d7 |
#define ICON_X(pcd) ((pcd)->pWsList[(pcd)->currentWsc].iconX)
|
|
Packit |
b099d7 |
#define ICON_Y(pcd) ((pcd)->pWsList[(pcd)->currentWsc].iconY)
|
|
Packit |
b099d7 |
#define P_ICON_BOX(pcd) ((pcd)->pWsList[(pcd)->currentWsc].pIconBox)
|
|
Packit |
b099d7 |
#define ICON_FRAME_WIN(pcd) ((pcd)->pWsList[(pcd)->currentWsc].iconFrameWin)
|
|
Packit |
b099d7 |
#else /* WSM */
|
|
Packit |
b099d7 |
#define ICON_PLACE(pcd) ((pcd)->iconPlace)
|
|
Packit |
b099d7 |
#define ICON_X(pcd) ((pcd)->iconX)
|
|
Packit |
b099d7 |
#define ICON_Y(pcd) ((pcd)->iconY)
|
|
Packit |
b099d7 |
#define P_ICON_BOX(pcd) ((pcd)->pIconBox)
|
|
Packit |
b099d7 |
#define ICON_FRAME_WIN(pcd) ((pcd)->iconFrameWin)
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Definitions for Screen data
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define MAX_WORKSPACE_COUNT 64
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* BackdropData
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This structure hold information for the workspace background
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WmBackdropData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
String image; /* resource */
|
|
Packit |
b099d7 |
Atom nameAtom;
|
|
Packit |
b099d7 |
Pixmap imagePixmap;
|
|
Packit |
b099d7 |
int colorSet; /* resource */
|
|
Packit |
b099d7 |
Pixel background; /* resource */
|
|
Packit |
b099d7 |
Pixel foreground; /* resource */
|
|
Packit |
b099d7 |
unsigned int flags;
|
|
Packit |
b099d7 |
Window window;
|
|
Packit |
b099d7 |
} BackdropData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* bit definiton for "flags" member of BackdropData
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define BACKDROP_NONE 0
|
|
Packit |
b099d7 |
#define BACKDROP_CLIENT (1L<<1)
|
|
Packit |
b099d7 |
#define BACKDROP_BITMAP (1L<<2)
|
|
Packit |
b099d7 |
#define BACKDROP_IMAGE_ALLOCED (1L<<3) /* image string can be freed */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WmBackdropData *PtrBackdropData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define DEFAULT_BACKDROP_DIR CDE_INSTALLATION_TOP "/backdrops"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* direction for slide-out panels
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef enum _SlideDirection
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
SLIDE_NOT, SLIDE_NORTH, SLIDE_EAST, SLIDE_SOUTH, SLIDE_WEST
|
|
Packit |
b099d7 |
} SlideDirection;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Slide out record for subpanels
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct _SlideOutRec
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
struct _ClientData *pCD;
|
|
Packit |
b099d7 |
Window coverWin;
|
|
Packit |
b099d7 |
Dimension incWidth;
|
|
Packit |
b099d7 |
Dimension incHeight;
|
|
Packit |
b099d7 |
Dimension currWidth;
|
|
Packit |
b099d7 |
Dimension currHeight;
|
|
Packit |
b099d7 |
Position currX;
|
|
Packit |
b099d7 |
Position currY;
|
|
Packit |
b099d7 |
unsigned int interval;
|
|
Packit |
b099d7 |
SlideDirection direction;
|
|
Packit |
b099d7 |
Boolean mapping;
|
|
Packit |
b099d7 |
Widget wSubpanel;
|
|
Packit |
b099d7 |
} SlideOutRec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Data structure for arguments to f.action
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef struct _WmActionArg {
|
|
Packit |
b099d7 |
String actionName;
|
|
Packit |
b099d7 |
int numArgs;
|
|
Packit |
b099d7 |
DtActionArg * aap;
|
|
Packit |
b099d7 |
String szExecParms;
|
|
Packit |
b099d7 |
} WmActionArg;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* WmWorkspaceData
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This is the structure for holding the workspace specific data.
|
|
Packit |
b099d7 |
* (This has been broken out in anticipation of possible future
|
|
Packit |
b099d7 |
* enhancements.)
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WmWorkspaceData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int dataType;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
WorkspaceID id;
|
|
Packit |
b099d7 |
int map_state;
|
|
Packit |
b099d7 |
BackdropData backdrop;
|
|
Packit |
b099d7 |
Widget buttonW;
|
|
Packit |
b099d7 |
XmString title; /* resource (visible name) */
|
|
Packit |
b099d7 |
String iconBoxGeometry;/* resource */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
String name; /* workspace name */
|
|
Packit |
b099d7 |
/* (used for resource fetching) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
WmScreenData *pSD; /* screen data for this workspace */
|
|
Packit |
b099d7 |
IconBoxData *pIconBox; /* icon box data for this workspace */
|
|
Packit |
b099d7 |
IconPlacementData IPData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget workspaceTopLevelW;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* workspace state information */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
struct _ClientData *keyboardFocus; /* ptr to client with the key focus */
|
|
Packit |
b099d7 |
struct _ClientData *nextKeyboardFocus; /* next client to get focus */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
struct _ClientData **ppClients; /* list of client data ptrs */
|
|
Packit |
b099d7 |
unsigned int numClients; /* number of client in list */
|
|
Packit |
b099d7 |
unsigned int sizeClientList; /* size of client list */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} WmWorkspaceData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WmWorkspaceData *PtrWorkspaceData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Convenience macros for data access
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define CLIENT_APPEARANCE(pcd) ((pcd)->pSD->clientAppearance)
|
|
Packit |
b099d7 |
#define CLIENT_TITLE_APPEARANCE(pcd) ((pcd)->pSD->clientTitleAppearance)
|
|
Packit |
b099d7 |
#define DECOUPLE_TITLE_APPEARANCE(pcd) ((pcd)->pSD->decoupleTitleAppearance)
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
#define CLIENT_DEFAULT_TITLE(pcd) ((pcd)->pSD->clientDefaultTitle)
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#define MAX_MAX_SIZE(pcd) ((pcd)->pSD->maximumMaximumSize)
|
|
Packit |
b099d7 |
#define SHOW_RESIZE_CURSORS(pcd) ((pcd)->pSD->resizeCursors)
|
|
Packit |
b099d7 |
#define JOIN_BEVEL(pcd) ((pcd)->pSD->joinBevel)
|
|
Packit |
b099d7 |
#define EXTERNAL_BEVEL(pcd) ((pcd)->pSD->externalBevel)
|
|
Packit |
b099d7 |
#define FRAME_BORDER_WIDTH(pcd) ((pcd)->pSD->frameBorderWidth)
|
|
Packit |
b099d7 |
#define RESIZE_BORDER_WIDTH(pcd) ((pcd)->pSD->resizeBorderWidth)
|
|
Packit |
b099d7 |
#define NUM_TITLE_TS_ELEMENTS(pcd) ((pcd)->pSD->Num_Title_Ts_Elements)
|
|
Packit |
b099d7 |
#define NUM_TITLE_BS_ELEMENTS(pcd) ((pcd)->pSD->Num_Title_Bs_Elements)
|
|
Packit |
b099d7 |
#define NUM_RESIZE_TS_ELEMENTS(pcd) ((pcd)->pSD->Num_Resize_Ts_Elements)
|
|
Packit |
b099d7 |
#define NUM_RESIZE_BS_ELEMENTS(pcd) ((pcd)->pSD->Num_Resize_Bs_Elements)
|
|
Packit |
b099d7 |
#define ICON_APPEARANCE(pcd) ((pcd)->pSD->iconAppearance)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define ACTIVE_LABEL_PARENT(pcd) ((pcd)->pSD->activeLabelParent)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef WSM
|
|
Packit |
b099d7 |
#define ICON_BOX_GEOMETRY(pcd) ((pcd)->pSD->iconBoxGeometry)
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
#define ICON_BOX_TITLE(pcd) ((pcd)->pSD->iconBoxTitle)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define TRANSIENT_DECORATION(pcd) ((pcd)->pSD->transientDecoration)
|
|
Packit |
b099d7 |
#define TRANSIENT_FUNCTIONS(pcd) ((pcd)->pSD->transientFunctions)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* ClientData
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This data structure is instantiated for every client window that is
|
|
Packit |
b099d7 |
* managed by the window manager. The information that is saved in the
|
|
Packit |
b099d7 |
* data structure is specific to the associated client window.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* ClientData is instantiated at the time a client window is intially
|
|
Packit |
b099d7 |
* managed and is destroyed when the client window is withdrawn from
|
|
Packit |
b099d7 |
* window management (the ClientData may not be destroyed when a
|
|
Packit |
b099d7 |
* client window is withdrawn if frame/icons are cached).
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _ClientData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int dataType; /* client data type */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Window client;
|
|
Packit |
b099d7 |
long clientFlags;
|
|
Packit |
b099d7 |
int icccVersion;
|
|
Packit |
b099d7 |
int clientState; /* WM_HINTS field */
|
|
Packit |
b099d7 |
int inputFocusModel; /* WM_HINTS field */
|
|
Packit |
b099d7 |
int inputMode;
|
|
Packit |
b099d7 |
long focusPriority;
|
|
Packit |
b099d7 |
unsigned long clientID;
|
|
Packit |
b099d7 |
int wmUnmapCount;
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
struct _WmFpEmbeddedClientData *pECD; /* embedded client data */
|
|
Packit |
b099d7 |
struct _WmFpPushRecallClientData *pPRCD; /* embedded client data */
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
Atom * paInitialProperties; /* initial window properties */
|
|
Packit |
b099d7 |
int numInitialProperties; /* number of initial properties */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client supported protocols: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Atom *clientProtocols; /* WM_PROTOCOLS */
|
|
Packit |
b099d7 |
int clientProtocolCount;
|
|
Packit |
b099d7 |
long protocolFlags;
|
|
Packit |
b099d7 |
long *mwmMessages; /* _MWM_MESSAGES */
|
|
Packit |
b099d7 |
int mwmMessagesCount;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client colormap data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Colormap clientColormap; /* selected client colormap */
|
|
Packit |
b099d7 |
Window *cmapWindows; /* from WM_COLORMAP_WINDOWS */
|
|
Packit |
b099d7 |
Colormap *clientCmapList;
|
|
Packit |
b099d7 |
int clientCmapCount; /* len of clientCmapList */
|
|
Packit |
b099d7 |
int clientCmapIndex; /* current cmap in list */
|
|
Packit |
b099d7 |
#ifndef OLD_COLORMAP /* colormap */
|
|
Packit |
b099d7 |
int *clientCmapFlags; /* installed, uninstalled */
|
|
Packit |
b099d7 |
Bool clientCmapFlagsInitialized; /* Are clientCmapFlags valid? */
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* associated window data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ClientListEntry clientEntry;
|
|
Packit |
b099d7 |
ClientListEntry iconEntry;
|
|
Packit |
b099d7 |
XID windowGroup; /* WM_HINTS field */
|
|
Packit |
b099d7 |
#ifndef NO_OL_COMPAT
|
|
Packit |
b099d7 |
Boolean bPseudoTransient; /* transientFor window group */
|
|
Packit |
b099d7 |
#endif /* NO_OL_COMPAT */
|
|
Packit |
b099d7 |
#ifndef WSM
|
|
Packit |
b099d7 |
IconBoxData *pIconBox; /* icon box for this win */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
IconBoxData *thisIconBox; /* icon box data for self */
|
|
Packit |
b099d7 |
/* if this is an icon box */
|
|
Packit |
b099d7 |
Context grabContext; /* used to support icon box */
|
|
Packit |
b099d7 |
/* icon key, button, menus */
|
|
Packit |
b099d7 |
Window transientFor; /* transient for another win */
|
|
Packit |
b099d7 |
struct _ClientData *transientLeader; /* trans leader of this win */
|
|
Packit |
b099d7 |
struct _ClientData *transientChildren; /* transients of this win */
|
|
Packit |
b099d7 |
struct _ClientData *transientSiblings; /* related transient win's */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
int primaryStackPosition; /* stack pos'n of primary */
|
|
Packit |
b099d7 |
Boolean secondariesOnTop; /* resource */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
int primaryModalCount; /* primary modal win count */
|
|
Packit |
b099d7 |
int fullModalCount; /* full modal win count */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client resource data */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
String clientClass; /* WM_CLASS field */
|
|
Packit |
b099d7 |
String clientName; /* WM_CLASS field */
|
|
Packit |
b099d7 |
int clientDecoration; /* resource */
|
|
Packit |
b099d7 |
int clientFunctions; /* resource */
|
|
Packit |
b099d7 |
Boolean focusAutoRaise; /* resource */
|
|
Packit |
b099d7 |
Boolean focusAutoRaiseDisabled; /* to support f.lower */
|
|
Packit |
b099d7 |
Boolean focusAutoRaiseDisablePending; /* to support f.lower */
|
|
Packit |
b099d7 |
String iconImage; /* resource */
|
|
Packit |
b099d7 |
Pixel iconImageBackground; /* resource */
|
|
Packit |
b099d7 |
Pixel iconImageBottomShadowColor; /* resource */
|
|
Packit |
b099d7 |
String iconImageBottomShadowPStr; /* resource */
|
|
Packit |
b099d7 |
Pixmap iconImageBottomShadowPixmap;
|
|
Packit |
b099d7 |
Pixel iconImageForeground; /* resource */
|
|
Packit |
b099d7 |
Pixel iconImageTopShadowColor; /* resource */
|
|
Packit |
b099d7 |
String iconImageTopShadowPStr; /* resource */
|
|
Packit |
b099d7 |
Pixmap iconImageTopShadowPixmap;
|
|
Packit |
b099d7 |
Boolean ignoreWMSaveHints; /* resource */
|
|
Packit |
b099d7 |
int internalBevel; /* resource */
|
|
Packit |
b099d7 |
Pixel matteBackground; /* resource */
|
|
Packit |
b099d7 |
Pixel matteBottomShadowColor; /* resource */
|
|
Packit |
b099d7 |
String matteBottomShadowPStr; /* resource */
|
|
Packit |
b099d7 |
Pixmap matteBottomShadowPixmap;
|
|
Packit |
b099d7 |
Pixel matteForeground; /* resource */
|
|
Packit |
b099d7 |
Pixel matteTopShadowColor; /* resource */
|
|
Packit |
b099d7 |
String matteTopShadowPStr; /* resource */
|
|
Packit |
b099d7 |
Pixmap matteTopShadowPixmap;
|
|
Packit |
b099d7 |
int matteWidth; /* resource */
|
|
Packit |
b099d7 |
WHSize maximumClientSize; /* resource */
|
|
Packit |
b099d7 |
String smClientID; /* SM_CLIENT_ID */
|
|
Packit |
b099d7 |
String systemMenu; /* resource */
|
|
Packit |
b099d7 |
MenuItem *mwmMenuItems; /* custom menu items or NULL */
|
|
Packit |
b099d7 |
MenuSpec *systemMenuSpec;
|
|
Packit |
b099d7 |
Boolean useClientIcon; /* resource */
|
|
Packit |
b099d7 |
int wmSaveHintFlags; /* WMSAVE_HINT */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client frame data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
long sizeFlags; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
long decor; /* client decoration*/
|
|
Packit |
b099d7 |
long decorFlags; /* depressed gadgets flags */
|
|
Packit |
b099d7 |
int minWidth; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
int minHeight; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
Boolean maxConfig; /* True => use max config */
|
|
Packit |
b099d7 |
int maxX; /* maximized window X loc */
|
|
Packit |
b099d7 |
int maxY; /* maximized window Y loc */
|
|
Packit |
b099d7 |
int maxWidthLimit;
|
|
Packit |
b099d7 |
int maxWidth; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
int maxHeightLimit;
|
|
Packit |
b099d7 |
int maxHeight; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
int oldMaxWidth; /* for good HPterm behavior */
|
|
Packit |
b099d7 |
int oldMaxHeight; /* for good HPterm behavior */
|
|
Packit |
b099d7 |
int widthInc; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
int heightInc; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
AspectRatio minAspect; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
AspectRatio maxAspect; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
int baseWidth; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
int baseHeight; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
int windowGravity; /* WM_NORMAL_HINTS field */
|
|
Packit |
b099d7 |
int clientX; /* normal window X loc */
|
|
Packit |
b099d7 |
int clientY; /* normal window Y loc */
|
|
Packit |
b099d7 |
int clientWidth; /* normal window width */
|
|
Packit |
b099d7 |
int clientHeight; /* normal window height */
|
|
Packit |
b099d7 |
XPoint clientOffset; /* frame to client window */
|
|
Packit |
b099d7 |
XmString clientTitle; /* WM_NAME field */
|
|
Packit |
b099d7 |
Window clientFrameWin; /* top-level, frame window */
|
|
Packit |
b099d7 |
Window clientStretchWin[STRETCH_COUNT];/* for resizing border */
|
|
Packit |
b099d7 |
Window clientTitleWin; /* for title bar */
|
|
Packit |
b099d7 |
Window clientBaseWin; /* for matte & reparenting */
|
|
Packit |
b099d7 |
int xBorderWidth; /* original X border width */
|
|
Packit |
b099d7 |
FrameInfo frameInfo; /* frame geometry data */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client window frame graphic data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
RList *pclientTopShadows; /* top shadow areas */
|
|
Packit |
b099d7 |
RList *pclientBottomShadows; /* bottom shadow areas */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
RList *pclientTitleTopShadows; /* top shadow areas */
|
|
Packit |
b099d7 |
RList *pclientTitleBottomShadows; /* bottom shadow areas */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
RList *pclientMatteTopShadows; /* matte top shadows */
|
|
Packit |
b099d7 |
RList *pclientMatteBottomShadows; /* matte bottom shadows */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* rectangles for client frame gadgets */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XRectangle titleRectangle; /* title bar area */
|
|
Packit |
b099d7 |
GadgetRectangle *pTitleGadgets; /* title bar gadgets */
|
|
Packit |
b099d7 |
int cTitleGadgets; /* count of title rects */
|
|
Packit |
b099d7 |
GadgetRectangle *pResizeGadgets; /* resize areas */
|
|
Packit |
b099d7 |
XRectangle matteRectangle; /* matte / base window area */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client appearance data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
GC clientMatteTopShadowGC;
|
|
Packit |
b099d7 |
GC clientMatteBottomShadowGC;
|
|
Packit |
b099d7 |
WmScreenData *pSD; /* where visuals come from */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* icon data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
long iconFlags;
|
|
Packit |
b099d7 |
XmString iconTitle; /* WM_ICON_NAME field */
|
|
Packit |
b099d7 |
#ifndef WSM
|
|
Packit |
b099d7 |
int iconX; /* WM_HINTS field */
|
|
Packit |
b099d7 |
int iconY; /* WM_HINTS field */
|
|
Packit |
b099d7 |
int iconPlace;
|
|
Packit |
b099d7 |
Window iconFrameWin;
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
Pixmap iconPixmap; /* WM_HINTS field */
|
|
Packit |
b099d7 |
Pixmap iconMask; /* WM_HINTS field */
|
|
Packit |
b099d7 |
Window iconWindow; /* WM_HINTS field */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
RList *piconTopShadows; /* these change to */
|
|
Packit |
b099d7 |
/* to reflect the */
|
|
Packit |
b099d7 |
RList *piconBottomShadows; /* depressed icon image */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
/* workspace data */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
int absentMapBehavior; /* resource */
|
|
Packit |
b099d7 |
int numInhabited; /* number of WS's inhabited */
|
|
Packit |
b099d7 |
int sizeWsList; /* size of wsc data list */
|
|
Packit |
b099d7 |
struct _WsClientData *pWsList; /* list of workspace-client data */
|
|
Packit |
b099d7 |
int currentWsc; /* index to current wsc data */
|
|
Packit |
b099d7 |
WorkspaceID *pWorkspaceHints; /* _DT_WORKSPACE_HINTS */
|
|
Packit |
b099d7 |
int numWorkspaceHints; /* size of pWorkspaceHints */
|
|
Packit |
b099d7 |
Boolean putInAll; /* persistent window flag */
|
|
Packit |
b099d7 |
long dtwmFunctions; /* _DT_WM_HINTS */
|
|
Packit |
b099d7 |
long dtwmBehaviors; /* _DT_WM_HINTS */
|
|
Packit |
b099d7 |
Window attachWindow; /* _DT_WM_HINTS */
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
SlideDirection slideDirection; /* slide-up direction */
|
|
Packit |
b099d7 |
SlideOutRec *pSOR; /* slide-out record */
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
#ifndef NO_SHAPE
|
|
Packit |
b099d7 |
short wShaped; /* this window has a bounding shape */
|
|
Packit |
b099d7 |
#endif /* NO_SHAPE */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
int usePPosition; /* indicate whether to use PPosition */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
long window_status; /* used for Tear-off Menus */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} ClientData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _ClientData *PtrClientData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client data convenience macros */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define IS_APP_MODALIZED(pcd) \
|
|
Packit |
b099d7 |
(((pcd)->primaryModalCount)||((pcd)->fullModalCount))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define IS_MAXIMIZE_VERTICAL(pcd) \
|
|
Packit |
b099d7 |
((pcd->maximumClientSize.height == BIGSIZE) && \
|
|
Packit |
b099d7 |
(pcd->maximumClientSize.width == 0))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define IS_MAXIMIZE_HORIZONTAL(pcd) \
|
|
Packit |
b099d7 |
((pcd->maximumClientSize.width == BIGSIZE) && \
|
|
Packit |
b099d7 |
(pcd->maximumClientSize.height == 0))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* window management state of client windows (clientState): */
|
|
Packit |
b099d7 |
#define WITHDRAWN_STATE 0
|
|
Packit |
b099d7 |
#define NORMAL_STATE 1
|
|
Packit |
b099d7 |
#define MINIMIZED_STATE 2
|
|
Packit |
b099d7 |
#define MAXIMIZED_STATE 3
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define UNSEEN_STATE 8
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
# define NO_CHANGE -1
|
|
Packit |
b099d7 |
# define UNSET 0
|
|
Packit |
b099d7 |
# define SET 1
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* clientFlags field values: */
|
|
Packit |
b099d7 |
#define CLIENT_HINTS_TITLE (1L << 0)
|
|
Packit |
b099d7 |
#define CLIENT_REPARENTED (1L << 1)
|
|
Packit |
b099d7 |
#define CLIENT_TRANSIENT (1L << 2)
|
|
Packit |
b099d7 |
#define CLIENT_CONTEXT_SAVED (1L << 3)
|
|
Packit |
b099d7 |
#define CLIENT_IN_SAVE_SET (1L << 4)
|
|
Packit |
b099d7 |
#define USERS_MAX_POSITION (1L << 5)
|
|
Packit |
b099d7 |
#define WM_INITIALIZATION (1L << 6)
|
|
Packit |
b099d7 |
#define CLIENT_DESTROYED (1L << 7)
|
|
Packit |
b099d7 |
#define ICON_REPARENTED (1L << 8)
|
|
Packit |
b099d7 |
#define ICON_IN_SAVE_SET (1L << 9)
|
|
Packit |
b099d7 |
#define CLIENT_TERMINATING (1L << 10)
|
|
Packit |
b099d7 |
#define ICON_BOX (1L << 11) /* one of our icon boxes */
|
|
Packit |
b099d7 |
#define CONFIRM_BOX (1L << 12) /* a confirmation box */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
#define FRONT_PANEL_BOX (1L << 14) /* a DT 3.0 front panel */
|
|
Packit |
b099d7 |
#define GOT_DT_WM_HINTS (1L << 15)
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define SM_LAUNCHED (1L << 17) /* launched by dtsession */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define SM_X (1L << 18) /* X from DB/dtsession */
|
|
Packit |
b099d7 |
#define SM_Y (1L << 19) /* Y from DB/dtsession */
|
|
Packit |
b099d7 |
#define SM_WIDTH (1L << 20) /* width fm DB/dtsession */
|
|
Packit |
b099d7 |
#define SM_HEIGHT (1L << 21) /* height fm DB/dtsession */
|
|
Packit |
b099d7 |
#define SM_CLIENT_STATE (1L << 22) /* clientState fm DB/dtsession */
|
|
Packit |
b099d7 |
#define SM_ICON_X (1L << 23) /* icon X from DB */
|
|
Packit |
b099d7 |
#define SM_ICON_Y (1L << 24) /* icon Y from DB */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define CLIENT_WM_CLIENTS (ICON_BOX | CONFIRM_BOX)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* decorFlags bit fields */
|
|
Packit |
b099d7 |
#define SYSTEM_DEPRESSED (1L << 0)
|
|
Packit |
b099d7 |
#define TITLE_DEPRESSED (1L << 1)
|
|
Packit |
b099d7 |
#define MINIMIZE_DEPRESSED (1L << 2)
|
|
Packit |
b099d7 |
#define MAXIMIZE_DEPRESSED (1L << 3)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* iconFlags field values: */
|
|
Packit |
b099d7 |
#define ICON_HINTS_POSITION (1L << 0)
|
|
Packit |
b099d7 |
#define ICON_HINTS_TITLE (1L << 1)
|
|
Packit |
b099d7 |
#define ICON_HINTS_PIXMAP (1L << 2)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client protocol flags and sizes: */
|
|
Packit |
b099d7 |
#define PROTOCOL_WM_SAVE_YOURSELF (1L << 0)
|
|
Packit |
b099d7 |
#define PROTOCOL_WM_DELETE_WINDOW (1L << 1)
|
|
Packit |
b099d7 |
#define PROTOCOL_WM_TAKE_FOCUS (1L << 2)
|
|
Packit |
b099d7 |
#define PROTOCOL_MWM_MESSAGES (1L << 3)
|
|
Packit |
b099d7 |
#define PROTOCOL_MWM_OFFSET (1L << 4)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define MAX_CLIENT_PROTOCOL_COUNT 40
|
|
Packit |
b099d7 |
#define MAX_COLORMAP_WINDOWS_COUNT 40
|
|
Packit |
b099d7 |
#define MAX_MWM_MESSAGES_COUNT 40
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* bevel width limits between window manager frame and client window */
|
|
Packit |
b099d7 |
#define MIN_INTERNAL_BEVEL 0
|
|
Packit |
b099d7 |
#define MAX_INTERNAL_BEVEL 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* global return buffer */
|
|
Packit |
b099d7 |
#define MAXWMPATH 1023
|
|
Packit |
b099d7 |
#define MAXBUF (MAXWMPATH+1)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define PIXMAP_IS_VALID(pix) \
|
|
Packit |
b099d7 |
((pix) != XmUNSPECIFIED_PIXMAP && (pix) != None && (pix) != (Pixmap)NULL)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* WsClientData
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This datum compartmentalizes client data that must be replicated
|
|
Packit |
b099d7 |
* on a per workspace basis.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
typedef struct _WsClientData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
WorkspaceID wsID; /* workspace identifier */
|
|
Packit |
b099d7 |
int iconPlace; /* icon placment index */
|
|
Packit |
b099d7 |
int iconX;
|
|
Packit |
b099d7 |
int iconY;
|
|
Packit |
b099d7 |
Window iconFrameWin;
|
|
Packit |
b099d7 |
IconBoxData *pIconBox; /* icon box for this win */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
} WsClientData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* frame style types
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
typedef enum _FrameStyle
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
WmRECESSED,
|
|
Packit |
b099d7 |
WmSLAB
|
|
Packit |
b099d7 |
} FrameStyle;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* WmGlobalData
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This is the main data structure for holding the window manager's
|
|
Packit |
b099d7 |
* global data. There is one instantiation of the structure for
|
|
Packit |
b099d7 |
* the window manager.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _WmGlobalData
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int dataType;
|
|
Packit |
b099d7 |
char **argv; /* command line argument vector */
|
|
Packit |
b099d7 |
char **environ; /* environment vector */
|
|
Packit |
b099d7 |
char *mwmName; /* name of our executable */
|
|
Packit |
b099d7 |
Widget topLevelW;
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
Widget topLevelW1; /* from which WM components hang */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
Boolean confirmDialogMapped; /* confirm dialog is mapped */
|
|
Packit |
b099d7 |
XtAppContext mwmAppContext; /* application context for mwm */
|
|
Packit |
b099d7 |
XContext windowContextType; /* window context for XSaveContext */
|
|
Packit |
b099d7 |
XContext screenContextType; /* screen context for XSaveContext */
|
|
Packit |
b099d7 |
#ifndef IBM_169380
|
|
Packit |
b099d7 |
XContext cmapWindowContextType; /* list of pCD's in WM_COLORMAP_WINDOWS context for XSaveContext */
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
XContext mwmWindowContextType; /* mwm win context for XSaveContext */
|
|
Packit |
b099d7 |
Window dtSmWindow; /* used for contention management */
|
|
Packit |
b099d7 |
Window commandWindow; /* WM_SAVE_YOURSELF win for dtwm */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* presentation resource id's: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
String displayString; /* used for putenv in F_Exec */
|
|
Packit |
b099d7 |
Display *display; /* display we are running to */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
Display *display1; /* second display connection */
|
|
Packit |
b099d7 |
int statusColorServer; /* CSERVE_NORMAL, CSERVE_NOT_AVAILABLE */
|
|
Packit |
b099d7 |
DtWmpParseBuf *pWmPB; /* global parse buffer */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
int numScreens; /* number of screens */
|
|
Packit |
b099d7 |
unsigned char **screenNames; /* default names for screens */
|
|
Packit |
b099d7 |
WmScreenData *Screens; /* array of screen info */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Cursor workspaceCursor; /* basic arrow cursor */
|
|
Packit |
b099d7 |
Cursor stretchCursors[STRETCH_COUNT];
|
|
Packit |
b099d7 |
Cursor configCursor;
|
|
Packit |
b099d7 |
Cursor movePlacementCursor;
|
|
Packit |
b099d7 |
Cursor sizePlacementCursor;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef NO_MESSAGE_CATALOG
|
|
Packit |
b099d7 |
XmString okLabel;
|
|
Packit |
b099d7 |
XmString cancelLabel;
|
|
Packit |
b099d7 |
XmString helpLabel;
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* wm state info: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
WmScreenData *pActiveSD; /* with keyfocus window */
|
|
Packit |
b099d7 |
Boolean useStandardBehavior; /* behavior flag */
|
|
Packit |
b099d7 |
Boolean wmRestarted; /* restart flag */
|
|
Packit |
b099d7 |
Boolean errorFlag; /* handle on async errors */
|
|
Packit |
b099d7 |
XID errorResource; /* from XErrorEvent */
|
|
Packit |
b099d7 |
unsigned char errorRequestCode; /* from XErrorEvent */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* The following are global because pointer is grabbed */
|
|
Packit |
b099d7 |
MenuSpec *menuActive; /* ptr to currently active menu */
|
|
Packit |
b099d7 |
KeySpec *menuUnpostKeySpec; /* key to upost current menu */
|
|
Packit |
b099d7 |
ClientData *menuClient; /* client for which menu is posted */
|
|
Packit |
b099d7 |
KeySpec *F_NextKeySpec; /* used when travering to windows */
|
|
Packit |
b099d7 |
KeySpec *F_PrevKeySpec; /* used when travering to windows */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Context grabContext; /* used in GrabWin when no event */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ClickData clickData; /* double-click detection data */
|
|
Packit |
b099d7 |
int configAction; /* none, resize, move */
|
|
Packit |
b099d7 |
unsigned int configButton; /* button used for config */
|
|
Packit |
b099d7 |
unsigned int configPart; /* resize frame part */
|
|
Packit |
b099d7 |
Boolean configSet; /* True if configPart set */
|
|
Packit |
b099d7 |
Boolean movingIcon; /* True if icon being moved */
|
|
Packit |
b099d7 |
Boolean preMove; /* move threshold support */
|
|
Packit |
b099d7 |
int preMoveX;
|
|
Packit |
b099d7 |
int preMoveY;
|
|
Packit |
b099d7 |
ClientData *gadgetClient; /* last client with */
|
|
Packit |
b099d7 |
int gadgetDepressed; /* depressed gadget */
|
|
Packit |
b099d7 |
Boolean checkHotspot; /* event hotspot flag */
|
|
Packit |
b099d7 |
XRectangle hotspotRectangle; /* event hotspot area */
|
|
Packit |
b099d7 |
WmTimer *wmTimers; /* timer data */
|
|
Packit |
b099d7 |
Boolean passKeysActive; /* flag for pass keys function */
|
|
Packit |
b099d7 |
KeySpec *passKeysKeySpec; /* key for pass keys function */
|
|
Packit |
b099d7 |
Boolean activeIconTextDisplayed; /* True if active label up */
|
|
Packit |
b099d7 |
Boolean queryScreen; /* True if not sure of active screen */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* keyboard focus data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ClientData *keyboardFocus; /* ptr to client with the key focus */
|
|
Packit |
b099d7 |
ClientData *nextKeyboardFocus; /* next client to get focus */
|
|
Packit |
b099d7 |
Boolean systemModalActive;
|
|
Packit |
b099d7 |
ClientData *systemModalClient;
|
|
Packit |
b099d7 |
Window systemModalWindow;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Resource database used to restore client geometries, etc. */
|
|
Packit |
b099d7 |
XrmDatabase clientResourceDB;
|
|
Packit |
b099d7 |
#ifndef WSM
|
|
Packit |
b099d7 |
char *dbFileName;
|
|
Packit |
b099d7 |
String sessionClientDB; /* resource */
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* atoms used in inter-client communication: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Atom xa_WM_STATE;
|
|
Packit |
b099d7 |
Atom xa_WM_PROTOCOLS;
|
|
Packit |
b099d7 |
Atom xa_WM_CHANGE_STATE;
|
|
Packit |
b099d7 |
Atom xa_WM_SAVE_YOURSELF;
|
|
Packit |
b099d7 |
Atom xa_WM_DELETE_WINDOW;
|
|
Packit |
b099d7 |
Atom xa_WM_TAKE_FOCUS;
|
|
Packit |
b099d7 |
Atom xa_WM_COLORMAP_WINDOWS;
|
|
Packit |
b099d7 |
Atom xa_MWM_HINTS;
|
|
Packit |
b099d7 |
Atom xa_MWM_MESSAGES;
|
|
Packit |
b099d7 |
Atom xa_MWM_MENU;
|
|
Packit |
b099d7 |
Atom xa_MWM_INFO;
|
|
Packit |
b099d7 |
Atom xa_MWM_OFFSET;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#if ((!defined(WSM)) || defined(MWM_QATS_PROTOCOL))
|
|
Packit |
b099d7 |
Atom *xa_WM;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Atom xa_TARGETS;
|
|
Packit |
b099d7 |
Atom xa_MULTIPLE;
|
|
Packit |
b099d7 |
Atom xa_TIMESTAMP;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* original set of query targets */
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_CLIENT_WINDOW;
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_POINTER_WINDOW;
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_ALL_CLIENTS ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* menu command interface support */
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_DEFINE_COMMAND;
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_INCLUDE_COMMAND;
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_REMOVE_COMMAND;
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_ENABLE_COMMAND;
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_DISABLE_COMMAND;
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_RENAME_COMMAND;
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_INVOKE_COMMAND;
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_REQUEST_COMMAND;
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_WINDOW_FLAGS;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* automation support */
|
|
Packit |
b099d7 |
Atom _MOTIF_WM_AUTOMATION;
|
|
Packit |
b099d7 |
#endif /* !defined(WSM) || defined(MWM_QATS_PROTOCOL) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Atom xa_MOTIF_BINDINGS;
|
|
Packit |
b099d7 |
Atom xa_COMPOUND_TEXT;
|
|
Packit |
b099d7 |
Atom xa_SM_CLIENT_ID;
|
|
Packit |
b099d7 |
Atom xa_WMSAVE_HINT;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* atoms used for workspace management: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Atom xa_DT_WORKSPACE_HINTS;
|
|
Packit |
b099d7 |
Atom xa_DT_WORKSPACE_PRESENCE;
|
|
Packit |
b099d7 |
Atom xa_DT_WORKSPACE_INFO;
|
|
Packit |
b099d7 |
Atom xa_DT_EMBEDDED_CLIENTS;
|
|
Packit |
b099d7 |
Atom xa_DT_WORKSPACE_LIST;
|
|
Packit |
b099d7 |
Atom xa_DT_WORKSPACE_CURRENT;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Atom xa_ALL_WORKSPACES;
|
|
Packit |
b099d7 |
Atom xa_DT_SESSION_HINTS;
|
|
Packit |
b099d7 |
Atom xa_DT_WM_REQUEST;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Atom xa_DT_SM_WM_PROTOCOL;
|
|
Packit |
b099d7 |
Atom xa_DT_SM_START_ACK_WINDOWS;
|
|
Packit |
b099d7 |
Atom xa_DT_SM_STOP_ACK_WINDOWS;
|
|
Packit |
b099d7 |
Atom xa_DT_WM_WINDOW_ACK;
|
|
Packit |
b099d7 |
Atom xa_DT_WM_EXIT_SESSION;
|
|
Packit |
b099d7 |
Atom xa_DT_WM_LOCK_DISPLAY;
|
|
Packit |
b099d7 |
Atom xa_DT_WM_READY;
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
#ifndef NO_OL_COMPAT
|
|
Packit |
b099d7 |
Atom xa_OL_WIN_ATTR;
|
|
Packit |
b099d7 |
Atom xa_OL_DECOR_RESIZE;
|
|
Packit |
b099d7 |
Atom xa_OL_DECOR_HEADER;
|
|
Packit |
b099d7 |
Atom xa_OL_DECOR_CLOSE;
|
|
Packit |
b099d7 |
Atom xa_OL_DECOR_PIN;
|
|
Packit |
b099d7 |
Atom xa_OL_DECOR_ADD;
|
|
Packit |
b099d7 |
Atom xa_OL_DECOR_DEL;
|
|
Packit |
b099d7 |
Atom xa_OL_WT_BASE;
|
|
Packit |
b099d7 |
Atom xa_OL_WT_COMMAND;
|
|
Packit |
b099d7 |
Atom xa_OL_WT_HELP;
|
|
Packit |
b099d7 |
Atom xa_OL_WT_NOTICE;
|
|
Packit |
b099d7 |
Atom xa_OL_WT_OTHER;
|
|
Packit |
b099d7 |
Atom xa_OL_PIN_IN;
|
|
Packit |
b099d7 |
Atom xa_OL_PIN_OUT;
|
|
Packit |
b099d7 |
Atom xa_OL_MENU_LIMITED;
|
|
Packit |
b099d7 |
Atom xa_OL_MENU_FULL;
|
|
Packit |
b099d7 |
#endif /* NO_OL_COMPAT */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* mwm specific appearance and behavior resources and data: */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean autoKeyFocus; /* resource */
|
|
Packit |
b099d7 |
int autoRaiseDelay; /* resource */
|
|
Packit |
b099d7 |
String bitmapDirectory; /* resource */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
String backdropDirs; /* resource */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
Boolean clientAutoPlace; /* resource */
|
|
Packit |
b099d7 |
int colormapFocusPolicy; /* resource */
|
|
Packit |
b099d7 |
String configFile; /* resource */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
String cppCommand; /* resource */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
Boolean deiconifyKeyFocus; /* resource */
|
|
Packit |
b099d7 |
int doubleClickTime; /* resource */
|
|
Packit |
b099d7 |
Boolean enableWarp; /* resource */
|
|
Packit |
b099d7 |
Boolean enforceKeyFocus; /* resource */
|
|
Packit |
b099d7 |
Boolean freezeOnConfig; /* resource - testing */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
Boolean useWindowOutline; /* resource */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
Boolean iconAutoPlace; /* resource */
|
|
Packit |
b099d7 |
Boolean iconClick; /* resource */
|
|
Packit |
b099d7 |
Boolean interactivePlacement; /* resource */
|
|
Packit |
b099d7 |
int keyboardFocusPolicy; /* resource */
|
|
Packit |
b099d7 |
Boolean lowerOnIconify; /* resource */
|
|
Packit |
b099d7 |
int moveThreshold; /* resource */
|
|
Packit |
b099d7 |
Boolean passButtonsCheck; /* used to override passButtons */
|
|
Packit |
b099d7 |
Boolean passButtons; /* resource */
|
|
Packit |
b099d7 |
Boolean passSelectButton; /* resource */
|
|
Packit |
b099d7 |
Boolean positionIsFrame; /* resource */
|
|
Packit |
b099d7 |
Boolean positionOnScreen; /* resource */
|
|
Packit |
b099d7 |
int quitTimeout; /* resource */
|
|
Packit |
b099d7 |
Boolean raiseKeyFocus; /* resource */
|
|
Packit |
b099d7 |
Boolean multiScreen; /* resource */
|
|
Packit |
b099d7 |
String screenList; /* resource */
|
|
Packit |
b099d7 |
int showFeedback; /* resource */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
Boolean refreshByClearing; /* resource */
|
|
Packit |
b099d7 |
Boolean rootButtonClick; /* resource */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
Boolean startupKeyFocus; /* resource */
|
|
Packit |
b099d7 |
Boolean systemButtonClick; /* resource */
|
|
Packit |
b099d7 |
Boolean systemButtonClick2; /* resource */
|
|
Packit |
b099d7 |
Boolean useLargeCursors;
|
|
Packit |
b099d7 |
#if defined(PANELIST)
|
|
Packit |
b099d7 |
Boolean useFrontPanel; /* resource */
|
|
Packit |
b099d7 |
#endif /* PANELIST */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
String helpDirectory; /* resource */
|
|
Packit |
b099d7 |
Window requestContextWin; /* for WmRequest f.fcns */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
#ifdef MINIMAL_DT
|
|
Packit |
b099d7 |
Boolean dtLite; /* resource */
|
|
Packit |
b099d7 |
Boolean blinkOnExec; /* resource */
|
|
Packit |
b099d7 |
#endif /* MINIMAL_DT */
|
|
Packit |
b099d7 |
#ifdef PANELIST
|
|
Packit |
b099d7 |
WmScreenData *dtSD; /* screen for front panel */
|
|
Packit |
b099d7 |
int iSlideUpsInProgress;
|
|
Packit |
b099d7 |
#endif /*PANELIST */
|
|
Packit |
b099d7 |
Boolean waitForClicks; /* resource */
|
|
Packit |
b099d7 |
FrameStyle frameStyle; /* resource */
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
Dimension iconExternalShadowWidth; /* resource */
|
|
Packit |
b099d7 |
Dimension frameExternalShadowWidth; /* resource */
|
|
Packit |
b099d7 |
int marqueeSelectGranularity; /* resource */
|
|
Packit |
b099d7 |
XButtonEvent evLastButton; /* for detecting replayed
|
|
Packit |
b099d7 |
button events */
|
|
Packit |
b099d7 |
Boolean bReplayedButton; /* true if button replayed */
|
|
Packit |
b099d7 |
Boolean bSuspendSecondaryRestack; /* overrides transient
|
|
Packit |
b099d7 |
stacking */
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmString clientDefaultTitle;
|
|
Packit |
b099d7 |
XmString iconDefaultTitle;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Window attributesWindow;
|
|
Packit |
b099d7 |
XWindowAttributes windowAttributes;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef NO_SHAPE
|
|
Packit |
b099d7 |
Boolean hasShape; /* server supports Shape extension */
|
|
Packit |
b099d7 |
int shapeEventBase, shapeErrorBase;
|
|
Packit |
b099d7 |
#endif /* NO_SHAPE */
|
|
Packit |
b099d7 |
/* Need to replay enter notify events on windows with the
|
|
Packit |
b099d7 |
pointer that used to be modalized. This is for pointer focus. */
|
|
Packit |
b099d7 |
int replayEnterEvent;
|
|
Packit |
b099d7 |
XEnterWindowEvent savedEnterEvent;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
unsigned int lockingModMask; /* mask of locking modifier keys */
|
|
Packit |
b099d7 |
unsigned int *pLockMaskSequence;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
unsigned char tmpBuffer[MAXBUF]; /* replaces static buffers used */
|
|
Packit |
b099d7 |
/* for large return values */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
int numMouseButtons; /* num of mouse buttons available */
|
|
Packit |
b099d7 |
unsigned int bMenuButton; /* BMenu binding (button/state) */
|
|
Packit |
b099d7 |
#if defined(sun) && defined(ALLPLANES)
|
|
Packit |
b099d7 |
Bool allplanes; /* is SUN_ALLPLANES available? */
|
|
Packit |
b099d7 |
#endif /* defined(sun) && defined(ALLPLANES) */
|
|
Packit |
b099d7 |
} WmGlobalData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* quick references to global data: */
|
|
Packit |
b099d7 |
#define DISPLAY wmGD.display
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define DISPLAY1 wmGD.display1
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
#define ACTIVE_PSD (wmGD.pActiveSD)
|
|
Packit |
b099d7 |
#define ACTIVE_SCREEN (wmGD.pActiveSD->screen)
|
|
Packit |
b099d7 |
#define ACTIVE_WS (wmGD.pActiveSD->pActiveWS)
|
|
Packit |
b099d7 |
#define ACTIVE_ROOT (wmGD.pActiveSD->rootWindow)
|
|
Packit |
b099d7 |
#define ACTIVE_ICON_TEXT_WIN (wmGD.pActiveSD->activeIconTextWin)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NOLOCKMOD(state) ((state) & ~wmGD.lockingModMask)
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
/* absent map behavior policy values (absentMapBehavior): */
|
|
Packit |
b099d7 |
#define AMAP_BEHAVIOR_ADD 0
|
|
Packit |
b099d7 |
#define AMAP_BEHAVIOR_MOVE 1
|
|
Packit |
b099d7 |
#define AMAP_BEHAVIOR_IGNORE 2
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* colormap focus policy values (colormapFocus): */
|
|
Packit |
b099d7 |
#define CMAP_FOCUS_EXPLICIT 0
|
|
Packit |
b099d7 |
#define CMAP_FOCUS_POINTER 1
|
|
Packit |
b099d7 |
#define CMAP_FOCUS_KEYBOARD 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* keyboard input focus policy values (keyboardFocus): */
|
|
Packit |
b099d7 |
#define KEYBOARD_FOCUS_EXPLICIT 0
|
|
Packit |
b099d7 |
#define KEYBOARD_FOCUS_POINTER 1
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* icon appearance values (iconAppearance): */
|
|
Packit |
b099d7 |
#define ICON_LABEL_PART (1L << 0)
|
|
Packit |
b099d7 |
#define ICON_IMAGE_PART (1L << 1)
|
|
Packit |
b099d7 |
#define ICON_ACTIVE_LABEL_PART (1L << 2)
|
|
Packit |
b099d7 |
#define USE_ICON_DEFAULT_APPEARANCE (1L << 3)
|
|
Packit |
b099d7 |
#define ICON_APPEARANCE_STANDALONE (ICON_LABEL_PART | ICON_IMAGE_PART |\
|
|
Packit |
b099d7 |
ICON_ACTIVE_LABEL_PART)
|
|
Packit |
b099d7 |
#define ICON_APPEARANCE_ICONBOX (ICON_LABEL_PART | ICON_IMAGE_PART)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* icon placement values (iconPlacement, ...): */
|
|
Packit |
b099d7 |
#define ICON_PLACE_LEFT_PRIMARY (1L << 0)
|
|
Packit |
b099d7 |
#define ICON_PLACE_RIGHT_PRIMARY (1L << 1)
|
|
Packit |
b099d7 |
#define ICON_PLACE_TOP_PRIMARY (1L << 2)
|
|
Packit |
b099d7 |
#define ICON_PLACE_BOTTOM_PRIMARY (1L << 3)
|
|
Packit |
b099d7 |
#define ICON_PLACE_LEFT_SECONDARY (1L << 4)
|
|
Packit |
b099d7 |
#define ICON_PLACE_RIGHT_SECONDARY (1L << 5)
|
|
Packit |
b099d7 |
#define ICON_PLACE_TOP_SECONDARY (1L << 6)
|
|
Packit |
b099d7 |
#define ICON_PLACE_BOTTOM_SECONDARY (1L << 7)
|
|
Packit |
b099d7 |
#define ICON_PLACE_EDGE (1L << 8)
|
|
Packit |
b099d7 |
#define ICON_PLACE_TIGHT (1L << 9)
|
|
Packit |
b099d7 |
#define ICON_PLACE_RESERVE (1L << 10)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NO_ICON_PLACE -1
|
|
Packit |
b099d7 |
#define MINIMUM_ICON_SPACING 4
|
|
Packit |
b099d7 |
#define MAXIMUM_ICON_MARGIN 128
|
|
Packit |
b099d7 |
#define ICON_IMAGE_MAX_WIDTH 128
|
|
Packit |
b099d7 |
#define ICON_IMAGE_MAX_HEIGHT 128
|
|
Packit |
b099d7 |
#define ICON_IMAGE_MIN_WIDTH 16
|
|
Packit |
b099d7 |
#define ICON_IMAGE_MIN_HEIGHT 16
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*default client window title: */
|
|
Packit |
b099d7 |
#define DEFAULT_CLIENT_TITLE "*****"
|
|
Packit |
b099d7 |
#define DEFAULT_ICON_TITLE DEFAULT_CLIENT_TITLE
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* client decoration parameters */
|
|
Packit |
b099d7 |
#define MAXIMUM_FRAME_BORDER_WIDTH 64
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* configuration action (configAction): */
|
|
Packit |
b099d7 |
#define NO_ACTION 0
|
|
Packit |
b099d7 |
#define MOVE_CLIENT 1
|
|
Packit |
b099d7 |
#define RESIZE_CLIENT 2
|
|
Packit |
b099d7 |
#define PLACE_CLIENT 3
|
|
Packit |
b099d7 |
#ifdef WSM
|
|
Packit |
b099d7 |
#define MARQUEE_SELECT 4
|
|
Packit |
b099d7 |
#endif /* WSM */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Motif input bindings file name */
|
|
Packit |
b099d7 |
#define MOTIF_BINDINGS_FILE ".motifbind"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Data type definitions */
|
|
Packit |
b099d7 |
#define GLOBAL_DATA_TYPE 1001
|
|
Packit |
b099d7 |
#define CLIENT_DATA_TYPE 1002
|
|
Packit |
b099d7 |
#define SCREEN_DATA_TYPE 1003
|
|
Packit |
b099d7 |
#define WORKSPACE_DATA_TYPE 1004
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef NO_MESSAGE_CATALOG
|
|
Packit |
b099d7 |
/*************************************<->*************************************
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* NlsStrings
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Description:
|
|
Packit |
b099d7 |
* -----------
|
|
Packit |
b099d7 |
* This structure is used to hold message strings that used to
|
|
Packit |
b099d7 |
* be defines
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*************************************<->***********************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _NlsStrings
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
char *default_icon_box_title;
|
|
Packit |
b099d7 |
char *builtinSystemMenu;
|
|
Packit |
b099d7 |
char *defaultKeyBindings;
|
|
Packit |
b099d7 |
char *builtinKeyBindings;
|
|
Packit |
b099d7 |
char *defaultButtonBindings;
|
|
Packit |
b099d7 |
char *defaultVersionTitle;
|
|
Packit |
b099d7 |
char *defaultDtwmHelpTitle;
|
|
Packit |
b099d7 |
char *defaultHelpTitle;
|
|
Packit |
b099d7 |
} NlsStrings;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
extern NlsStrings wmNLS;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Stacking functions */
|
|
Packit |
b099d7 |
#define STACK_NORMAL 0
|
|
Packit |
b099d7 |
#define STACK_WITHIN_FAMILY 1
|
|
Packit |
b099d7 |
#define STACK_FREE_FAMILY 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* UsePPosition values */
|
|
Packit |
b099d7 |
#define USE_PPOSITION_OFF 0
|
|
Packit |
b099d7 |
#define USE_PPOSITION_ON 1
|
|
Packit |
b099d7 |
#define USE_PPOSITION_NONZERO 2
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Largest dimension for special casing */
|
|
Packit |
b099d7 |
#define BIGSIZE 32767
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* External references for global data:
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
extern WmGlobalData wmGD;
|
|
Packit |
b099d7 |
extern char defaultSystemMenuName[];
|
|
Packit |
b099d7 |
extern char defaultKeyBindings[];
|
|
Packit |
b099d7 |
extern char defaultKeyBindingsName[];
|
|
Packit |
b099d7 |
#ifndef NO_MESSAGE_CATALOG
|
|
Packit |
b099d7 |
extern char *builtinSystemMenu;
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
extern char builtinSystemMenu[];
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
extern char builtinKeyBindings[];
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
extern Const char _75_foreground[];
|
|
Packit |
b099d7 |
extern Const char _50_foreground[];
|
|
Packit |
b099d7 |
extern Const char _25_foreground[];
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
extern char *_DtGetMessage(char *filename, int set, int n, char *s);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* macro to get message catalog strings
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#ifndef NO_MESSAGE_CATALOG
|
|
Packit |
b099d7 |
# ifdef __ultrix
|
|
Packit |
b099d7 |
# define _CLIENT_CAT_NAME "dtwm.cat"
|
|
Packit |
b099d7 |
# else /* __ultrix */
|
|
Packit |
b099d7 |
# define _CLIENT_CAT_NAME "dtwm"
|
|
Packit |
b099d7 |
# endif /* __ultrix */
|
|
Packit |
b099d7 |
# ifdef WSM
|
|
Packit |
b099d7 |
# define GETMESSAGE(set, number, string)\
|
|
Packit |
b099d7 |
_DtGetMessage(_CLIENT_CAT_NAME, set, number, string)
|
|
Packit |
b099d7 |
# else
|
|
Packit |
b099d7 |
# define GETMESSAGE(set, number, string) (string)
|
|
Packit |
b099d7 |
# endif /* WSM */
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
# define GETMESSAGE(set, number, string)\
|
|
Packit |
b099d7 |
string
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
#endif /* _WmGlobal_h */
|