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...
190 lines
4.1 KiB
C
190 lines
4.1 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
|
|
*/
|
|
/* $XConsortium: Wsm.h /main/5 1996/05/20 16:08:50 drk $
|
|
*
|
|
* (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.
|
|
*/
|
|
|
|
#ifndef _Dt_Wsm_h
|
|
#define _Dt_Wsm_h
|
|
|
|
#include <X11/Intrinsic.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
/*
|
|
* Constants
|
|
*/
|
|
|
|
#define DtWSM_REASON_ADD 0
|
|
#define DtWSM_REASON_DELETE 1
|
|
#define DtWSM_REASON_BACKDROP 2
|
|
#define DtWSM_REASON_TITLE 3
|
|
#define DtWSM_REASON_CURRENT 4
|
|
|
|
|
|
/*
|
|
* Types
|
|
*/
|
|
|
|
/* Workspace property information */
|
|
|
|
typedef struct _DtWsmWorkspaceInfo {
|
|
Atom workspace;
|
|
unsigned long bg;
|
|
unsigned long fg;
|
|
Atom backdropName;
|
|
int colorSetId;
|
|
char *pchTitle;
|
|
Window *backdropWindows;
|
|
int numBackdropWindows;
|
|
} DtWsmWorkspaceInfo;
|
|
|
|
|
|
/* Workspace modified callback reasons */
|
|
|
|
typedef int DtWsmWsReason;
|
|
|
|
/* Workspace callback context (opaque) */
|
|
|
|
typedef struct _DtWsmCBContext * DtWsmCBContext;
|
|
|
|
/* Workspace callback prototype */
|
|
|
|
typedef void (*DtWsmWsChangeProc)(
|
|
Widget widget,
|
|
Atom aWs,
|
|
XtPointer client_data);
|
|
|
|
/* Workspace modified callback prototype */
|
|
|
|
typedef void (*DtWsmWsModifiedProc)(
|
|
Widget widget,
|
|
Atom aWs,
|
|
DtWsmWsReason reason,
|
|
XtPointer client_data);
|
|
|
|
|
|
/*
|
|
* Functions
|
|
*/
|
|
|
|
extern void DtWsmAddWorkspaceFunctions(
|
|
Display *display,
|
|
Window client);
|
|
|
|
extern void DtWsmRemoveWorkspaceFunctions(
|
|
Display *display,
|
|
Window client);
|
|
|
|
extern int DtWsmGetWorkspaceInfo(
|
|
Display *display,
|
|
Window root,
|
|
Atom aWS,
|
|
DtWsmWorkspaceInfo **ppWsInfo);
|
|
|
|
extern void DtWsmFreeWorkspaceInfo(
|
|
DtWsmWorkspaceInfo *pWsInfo);
|
|
|
|
extern int DtWsmGetWorkspaceList(
|
|
Display *display,
|
|
Window root,
|
|
Atom **ppWorkspaceList,
|
|
int *pNumWorkspaces);
|
|
|
|
extern int DtWsmGetCurrentWorkspace(
|
|
Display *display,
|
|
Window root,
|
|
Atom *paWorkspace);
|
|
|
|
extern DtWsmCBContext DtWsmAddCurrentWorkspaceCallback(
|
|
Widget widget,
|
|
DtWsmWsChangeProc ws_change,
|
|
XtPointer client_data);
|
|
|
|
extern void DtWsmRemoveWorkspaceCallback(
|
|
DtWsmCBContext pCbCtx);
|
|
|
|
extern int DtWsmSetCurrentWorkspace(
|
|
Widget widget,
|
|
Atom aWs);
|
|
|
|
extern int DtWsmGetWorkspacesOccupied(
|
|
Display *display,
|
|
Window window,
|
|
Atom **ppaWs,
|
|
unsigned long *pNumWs);
|
|
|
|
extern void DtWsmSetWorkspacesOccupied(
|
|
Display *display,
|
|
Window window,
|
|
Atom *pWsHints,
|
|
unsigned long numHints);
|
|
|
|
extern void DtWsmOccupyAllWorkspaces(
|
|
Display *display,
|
|
Window window);
|
|
|
|
extern DtWsmCBContext DtWsmAddWorkspaceModifiedCallback(
|
|
Widget widget,
|
|
DtWsmWsModifiedProc ws_modified,
|
|
XtPointer client_data);
|
|
|
|
extern Window DtWsmGetCurrentBackdropWindow(
|
|
Display *display,
|
|
Window root);
|
|
|
|
extern int DtWsmSetWorkspaceTitle(
|
|
Widget widget,
|
|
Atom aWs,
|
|
char *title);
|
|
|
|
extern int DtWsmChangeBackdrop(
|
|
Display *display,
|
|
Window root,
|
|
char *path,
|
|
Pixmap pixmap);
|
|
|
|
extern int DtWsmAddWorkspace(
|
|
Widget widget,
|
|
char *title);
|
|
|
|
extern int DtWsmDeleteWorkspace(
|
|
Widget widget,
|
|
Atom aWs);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _Dt_Wsm_h */
|