Ok - so one of the steps in building CDE is an early phase called the includes phase (make includes). At this point, all of the public header files are exported to exports/include/Dt, DtI, ... Then, the software is built using that include dir. This of course does not work in autotools. Much of the software does things like #include <Dt/something.h>, so in order for the build to succeed, this behavior must be represented/replicated in some way. It seems the usual way of dealing with this is to place all public headers (and in some projects, ALL headers) into a toplevel include directory. We now do this for all public headers - they have been moved from wherever they were and placed in the appropriate spot in includes/ This will break the Imake 'make includes' phase unless the Imakefiles are fixed (remove the HEADERS = stuff, and the incdir defines). This has not been done at this point since in reality, once autotools works properly, there will be no need for the Imake stuff anymore, and I intend to get rid of it. This is just a warning for now - Imake builds in this tree will now fail at the 'includes' stage. This commit is only the migration. In upcoming commits, libtt will be fixed so that the hack being used before to get around this problem is removed as there will no longer be any need. And then the autotools work continues...
251 lines
7.5 KiB
C
251 lines
7.5 KiB
C
/*
|
|
* CDE - Common Desktop Environment
|
|
*
|
|
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
*
|
|
* These libraries and programs are free software; you can
|
|
* redistribute them and/or modify them under the terms of the GNU
|
|
* Lesser General Public License as published by the Free Software
|
|
* Foundation; either version 2 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* These libraries and programs are distributed in the hope that
|
|
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
* PURPOSE. See the GNU Lesser General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with these libraries and programs; if not, write
|
|
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
* Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
/* $TOG: SessionM.h /main/8 1998/07/30 12:10:49 mgreess $ */
|
|
/*
|
|
* (c) Copyright 1996 Digital Equipment Corporation.
|
|
* (c) Copyright 1993, 1994, 1996 Hewlett-Packard Company
|
|
* (c) Copyright 1993, 1994, 1996 International Business Machines Corp.
|
|
* (c) Copyright 1993, 1994, 1996 Sun Microsystems, Inc.
|
|
* (c) Copyright 1993, 1994, 1996 Novell, Inc.
|
|
* (c) Copyright 1996 FUJITSU LIMITED.
|
|
* (c) Copyright 1996 Hitachi.
|
|
*/
|
|
/*************************************<+>*************************************
|
|
*****************************************************************************
|
|
**
|
|
** File: SessionM.h
|
|
**
|
|
** Description:
|
|
** -----------
|
|
** Contains all variables needed for SM messaging. All messages serviced,
|
|
** and the tool class name for the session manager
|
|
**
|
|
**
|
|
**
|
|
*******************************************************************
|
|
** (c) Copyright Hewlett-Packard Company, 1990. All rights are
|
|
** reserved. Copying or other reproduction of this program
|
|
** except for archival purposes is prohibited without prior
|
|
** written consent of Hewlett-Packard Company.
|
|
********************************************************************
|
|
**
|
|
**
|
|
*****************************************************************************
|
|
*************************************<+>*************************************/
|
|
#ifndef _SessionM_h
|
|
#define _SessionM_h
|
|
|
|
/*
|
|
* Include files
|
|
*/
|
|
/* If <X11/Intrinsic.h> is included along with this file, <X11/Intrinsic.h>
|
|
MUST be included first due to "typedef Boolean ..." problems. The following
|
|
conditional #define is also part of the solution to this problem. */
|
|
#include <X11/X.h>
|
|
#include <X11/Intrinsic.h>
|
|
|
|
/*
|
|
* Tool class for the session manager
|
|
*/
|
|
#define DtSM_TOOL_CLASS "SESSIONMGR"
|
|
|
|
/*
|
|
* SM_STARTUP_CHANGE an SM_STATE parameters
|
|
*/
|
|
#define DtSM_VERBOSE_MODE 1
|
|
#define DtSM_QUIET_MODE 2
|
|
#define DtSM_ASK_STATE 0
|
|
#define DtSM_HOME_STATE 3
|
|
#define DtSM_CURRENT_STATE 4
|
|
|
|
|
|
/*
|
|
* Atoms for session manager/style manager communication
|
|
*/
|
|
#define _XA_DT_SM_STM_PROTOCOL "_DT_SM_STM_PROTOCOL"
|
|
#define _XA_DT_SM_SAVE_TO_HOME "_DT_SM_SAVE_TO_HOME"
|
|
#define _XA_DT_SM_STATE_CHANGE "_DT_SM_STATE_CHANGE"
|
|
#define _XA_DT_SM_RESTORE_DEFAULT "_DT_SM_RESTORE_DEFAULT"
|
|
#define _XA_DT_SM_PREFERENCES "_DT_SM_PREFERENCES"
|
|
|
|
/*
|
|
* Atoms for lock changes
|
|
*/
|
|
#define _XA_DT_SM_LOCK_CHANGE "_DT_SM_LOCK_CHANGE"
|
|
#define CoverScreenMask (1L<<0)
|
|
#define LockOnTimeoutMask (1L<<1)
|
|
|
|
/*
|
|
* Parameters to be sent into session manager
|
|
*/
|
|
|
|
/*
|
|
* Atoms for communicating configuration changes and state
|
|
*/
|
|
/*
|
|
* Defines needed for getting/setting the sm window property on the root
|
|
*/
|
|
#define PROP_DT_SM_WINDOW_INFO_ELEMENTS 2
|
|
#define _XA_DT_SM_WINDOW_INFO "_DT_SM_WINDOW_INFO"
|
|
|
|
/*
|
|
* Defines needed for getting the session manager state off it's window
|
|
*/
|
|
#define PROP_DT_SM_STATE_INFO_ELEMENTS 13
|
|
#define _XA_DT_SM_STATE_INFO "_DT_SM_STATE_INFO"
|
|
|
|
/*
|
|
* Defines needed for the screen saver list property.
|
|
*/
|
|
#define _XA_DT_SM_SAVER_INFO "_DT_SM_SAVER_INFO"
|
|
|
|
/*
|
|
* Defines needed for the screen saver property
|
|
*/
|
|
#define PROP_DT_SM_SCREEN_INFO_ELEMENTS 5
|
|
#define _XA_DT_SM_SCREEN_INFO "_DT_SM_SCREEN_INFO"
|
|
|
|
/*
|
|
* Defines needed for the audio property
|
|
*/
|
|
#define PROP_DT_SM_AUDIO_INFO_ELEMENTS 4
|
|
#define _XA_DT_SM_AUDIO_INFO "_DT_SM_AUDIO_INFO"
|
|
|
|
/*
|
|
* Defines needed for the keyboard property
|
|
*/
|
|
#define PROP_DT_SM_KEYBOARD_INFO_ELEMENTS 3
|
|
#define _XA_DT_SM_KEYBOARD_INFO "_DT_SM_KEYBOARD_INFO"
|
|
|
|
/*
|
|
* Define needed for the font info property
|
|
*/
|
|
#define _XA_DT_SM_FONT_INFO "_DT_SM_FONT_INFO"
|
|
|
|
/*
|
|
* Define needed for the font info property
|
|
*/
|
|
#define _XA_DT_SM_POINTER_INFO "_DT_SM_POINTER_INFO"
|
|
|
|
/*
|
|
* Define needed for the preeditType info property
|
|
*/
|
|
#define _XA_DT_SM_PREEDIT_INFO "_DT_SM_PREEDIT_INFO"
|
|
|
|
/* bit definitions for SmStateInfo.flags */
|
|
#define SM_STATE_NONE 0
|
|
#define SM_STATE_START (1L << 0)
|
|
#define SM_STATE_CONFIRM (1L << 1)
|
|
#define SM_STATE_COMPAT (1L << 2)
|
|
#define SM_STATE_SEND (1L << 3)
|
|
#define SM_STATE_COVER (1L << 4) /* Obsolete */
|
|
#define SM_STATE_LOTOUT (1L << 5) /* Obsolete */
|
|
#define SM_STATE_LOTOUTSTAT (1L << 6)
|
|
|
|
#define SM_STATE_CYCLETIMEOUT (1L << 7)
|
|
#define SM_STATE_LOCKTIMEOUT (1L << 8)
|
|
#define SM_STATE_SAVERTIMEOUT (1L << 9)
|
|
#define SM_STATE_RANDOM (1L << 10)
|
|
#define SM_STATE_DISP_SESSION (1L << 11)
|
|
|
|
|
|
#define SM_STATE_ALL (SM_STATE_START | SM_STATE_CONFIRM |\
|
|
SM_STATE_COMPAT | SM_STATE_SEND |\
|
|
SM_STATE_COVER | SM_STATE_LOTOUT |\
|
|
SM_STATE_LOTOUTSTAT | SM_STATE_CYCLETIMEOUT |\
|
|
SM_STATE_LOCKTIMEOUT | SM_STATE_SAVERTIMEOUT |\
|
|
SM_STATE_RANDOM | SM_STATE_DISP_SESSION)
|
|
|
|
|
|
/*
|
|
* typedef statements for structures to be returned
|
|
*/
|
|
typedef struct
|
|
{
|
|
int flags;
|
|
int smStartState;
|
|
int smConfirmMode;
|
|
Boolean smCompatMode;
|
|
Boolean smSendSettings;
|
|
Boolean smCoverScreen; /* Obsolete */
|
|
Boolean smLockOnTimeout; /* Obsolete */
|
|
Boolean smLockOnTimeoutStatus;
|
|
int smCycleTimeout;
|
|
int smLockTimeout;
|
|
int smSaverTimeout;
|
|
Boolean smRandom;
|
|
Boolean smDisplaySpecific; /* If True, the currently running
|
|
session is for a specific display */
|
|
|
|
} SmStateInfo;
|
|
|
|
typedef struct
|
|
{
|
|
char *saverList;
|
|
} SmSaverInfo;
|
|
|
|
typedef struct
|
|
{
|
|
int flags;
|
|
int smTimeout;
|
|
int smInterval;
|
|
int smPreferBlank;
|
|
int smAllowExp;
|
|
} SmScreenInfo;
|
|
|
|
typedef struct
|
|
{
|
|
int flags;
|
|
int smBellPercent;
|
|
unsigned int smBellPitch;
|
|
unsigned int smBellDuration;
|
|
} SmAudioInfo;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
int flags;
|
|
int smKeyClickPercent;
|
|
int smGlobalAutoRepeat;
|
|
} SmKeyboardInfo;
|
|
|
|
/*
|
|
* Function definitions
|
|
*/
|
|
extern Status _DtGetSmWindow(Display *, Window, Window *) ;
|
|
extern Status _DtGetSmState(Display *, Window, SmStateInfo *);
|
|
extern Status _DtSetSmState(Display *, Window, SmStateInfo *);
|
|
extern Status _DtGetSmSaver(Display *, Window, SmSaverInfo *);
|
|
extern void _DtSetSmSaver(Display *, Window, SmSaverInfo *);
|
|
extern Status _DtGetSmScreen(Display *, Window, Atom, SmScreenInfo *);
|
|
extern Status _DtGetSmAudio(Display *, Window, Atom, SmAudioInfo *);
|
|
extern Status _DtGetSmKeyboard(Display *, Window, Atom, SmKeyboardInfo *);
|
|
extern Status _DtGetSmFont(Display *, Window, Atom, char **);
|
|
extern Status _DtGetSmPointer(Display *, Window, Atom, char **);
|
|
extern Status _DtGetSmPreedit(Display *, Window, Atom, char **);
|
|
|
|
#endif /* _SessionM_h */
|
|
|
|
|
|
|