2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these librararies and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
23 /* $XConsortium: Wsm.h /main/5 1996/05/20 16:08:50 drk $
25 * (c) Copyright 1996 Digital Equipment Corporation.
26 * (c) Copyright 1993,1994,1996 Hewlett-Packard Company.
27 * (c) Copyright 1993,1994,1996 International Business Machines Corp.
28 * (c) Copyright 1993,1994,1996 Sun Microsystems, Inc.
29 * (c) Copyright 1993,1994,1996 Novell, Inc.
30 * (c) Copyright 1996 FUJITSU LIMITED.
31 * (c) Copyright 1996 Hitachi.
37 #include <X11/Intrinsic.h>
48 #define DtWSM_REASON_ADD 0
49 #define DtWSM_REASON_DELETE 1
50 #define DtWSM_REASON_BACKDROP 2
51 #define DtWSM_REASON_TITLE 3
52 #define DtWSM_REASON_CURRENT 4
59 /* Workspace property information */
61 typedef struct _DtWsmWorkspaceInfo {
68 Window *backdropWindows;
69 int numBackdropWindows;
73 /* Workspace modified callback reasons */
75 typedef int DtWsmWsReason;
77 /* Workspace callback context (opaque) */
79 typedef struct _DtWsmCBContext * DtWsmCBContext;
81 /* Workspace callback prototype */
83 typedef void (*DtWsmWsChangeProc)(
86 XtPointer client_data);
88 /* Workspace modified callback prototype */
90 typedef void (*DtWsmWsModifiedProc)(
94 XtPointer client_data);
101 extern void DtWsmAddWorkspaceFunctions(
105 extern void DtWsmRemoveWorkspaceFunctions(
109 extern int DtWsmGetWorkspaceInfo(
113 DtWsmWorkspaceInfo **ppWsInfo);
115 extern void DtWsmFreeWorkspaceInfo(
116 DtWsmWorkspaceInfo *pWsInfo);
118 extern int DtWsmGetWorkspaceList(
121 Atom **ppWorkspaceList,
122 int *pNumWorkspaces);
124 extern int DtWsmGetCurrentWorkspace(
129 extern DtWsmCBContext DtWsmAddCurrentWorkspaceCallback(
131 DtWsmWsChangeProc ws_change,
132 XtPointer client_data);
134 extern void DtWsmRemoveWorkspaceCallback(
135 DtWsmCBContext pCbCtx);
137 extern int DtWsmSetCurrentWorkspace(
141 extern int DtWsmGetWorkspacesOccupied(
145 unsigned long *pNumWs);
147 extern void DtWsmSetWorkspacesOccupied(
151 unsigned long numHints);
153 extern void DtWsmOccupyAllWorkspaces(
157 extern DtWsmCBContext DtWsmAddWorkspaceModifiedCallback(
159 DtWsmWsModifiedProc ws_modified,
160 XtPointer client_data);
162 extern Window DtWsmGetCurrentBackdropWindow(
166 extern int DtWsmSetWorkspaceTitle(
171 extern int DtWsmChangeBackdrop(
177 extern int DtWsmAddWorkspace(
181 extern int DtWsmDeleteWorkspace(
189 #endif /* _Dt_Wsm_h */