- Fixed crashing bug in menu.c
[wmaker-crm.git] / src / kwm.h
blobac8ad3fbd2f0145095f11ebafcfee3bae3cd8aab
1 /* kde.h-- stuff for support for kde hints
2 *
3 * Window Maker window manager
4 *
5 * Copyright (c) 1998-2003 Alfredo K. Kojima
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
20 * USA.
23 #ifndef _KWM_H_
24 #define _KWM_H_
26 typedef enum {
27 KWMStickyFlag = (1<<0),
28 KWMMaximizedFlag = (1<<1),
29 KWMIconifiedFlag = (1<<2),
30 KWMAllFlags = 7
31 } WKWMStateFlag;
33 typedef enum {
34 WKWMAddWindow,
35 WKWMRemoveWindow,
36 WKWMFocusWindow,
37 WKWMRaiseWindow,
38 WKWMLowerWindow,
39 WKWMChangedClient,
40 WKWMIconChange
41 } WKWMEventMessage;
44 void wKWMInitStuff(WScreen *scr);
46 Bool wKWMGetUsableArea(WScreen *scr, WArea *area);
48 void wKWMCheckClientHints(WWindow *wwin, int *layer, int *workspace);
50 Bool wKWMCheckClientHintChange(WWindow *wwin, XPropertyEvent *event);
52 Bool wKWMCheckRootHintChange(WScreen *scr, XPropertyEvent *event);
54 void wKWMUpdateWorkspaceCountHint(WScreen *scr);
56 void wKWMUpdateWorkspaceNameHint(WScreen *scr, int workspace);
58 void wKWMUpdateCurrentWorkspaceHint(WScreen *scr);
60 Bool wKWMProcessClientMessage(XClientMessageEvent *event);
62 void wKWMUpdateClientGeometryRestore(WWindow *wwin);
64 void wKWMUpdateClientWorkspace(WWindow *wwin);
66 void wKWMUpdateClientStateHint(WWindow *wwin, WKWMStateFlag flags);
68 Bool wKWMManageableClient(WScreen *scr, Window win, char *title);
70 void wKWMCheckClientInitialState(WWindow *wwin);
72 #ifdef not_used
73 void wKWMSetUsableAreaHint(WScreen *scr, int workspace);
74 #endif
76 void wKWMSetInitializedHint(WScreen *scr);
78 void wKWMShutdown(WScreen *scr, Bool closeModules);
80 void wKWMCheckModule(WScreen *scr, Window window);
82 void wKWMSendWindowCreateMessage(WWindow *wwin, Bool create);
84 void wKWMSendEventMessage(WWindow *wwin, WKWMEventMessage message);
86 void wKWMCheckDestroy(XDestroyWindowEvent *event);
88 void wKWMUpdateActiveWindowHint(WScreen *scr);
90 void wKWMSendStacking(WScreen *scr, Window module);
92 void wKWMBroadcastStacking(WScreen *scr);
94 char *wKWMGetWorkspaceName(WScreen *scr, int workspace);
96 Bool wKWMGetIconGeometry(WWindow *wwin, WArea *area);
98 void wKWMSelectRootRegion(WScreen *scr, int x, int y, int w, int h,
99 Bool control);
101 #endif