cvsimport
[fvwm.git] / fvwm / ewmh.h
bloba65ae0ae1028ddcec4a388f0c55de2eaccf46187
1 /* -*-c-*- */
2 /* Copyright (C) 2001 Olivier Chapuis */
4 #ifndef _EWMH_
5 #define _EWMH_
7 /* Extended window manager hints support */
9 /* ewmh_conf.c */
10 Bool EWMH_BugOpts(char *opt, Bool toggle);
11 void CMD_EwmhNumberOfDesktops(F_CMD_ARGS);
12 void CMD_EwmhBaseStrut(F_CMD_ARGS);
13 Bool EWMH_CMD_Style(char *token, window_style *ptmpstyle, int on);
15 /* for maximize and placement ewmh style */
16 #define EWMH_IGNORE_WORKING_AREA 0
17 #define EWMH_USE_WORKING_AREA 1
18 #define EWMH_USE_DYNAMIC_WORKING_AREA 2
19 #define EWMH_WORKING_AREA_MASK 3
21 /* Extended window manager hints support */
23 #include <X11/Xmd.h>
25 void EWMH_SetCurrentDesktop(void);
26 void EWMH_SetNumberOfDesktops(void);
27 void EWMH_SetDesktopViewPort(void);
28 void EWMH_SetDesktopGeometry(void);
30 void EWMH_SetActiveWindow(Window w);
31 void EWMH_SetWMDesktop(FvwmWindow *fw);
32 void EWMH_SetWMState(FvwmWindow *fw, Bool do_restore);
34 int EWMH_IsKdeSysTrayWindow(Window w);
35 void EWMH_ManageKdeSysTray(Window w, int type);
36 void EWMH_SetClientList(void);
37 void EWMH_SetClientListStacking(void);
38 void EWMH_UpdateWorkArea(void);
39 void EWMH_GetWorkAreaIntersection(
40 FvwmWindow *fw, int *x, int *y, int *w, int *h, int type);
41 float EWMH_GetBaseStrutIntersection(
42 int x11, int y11, int x12, int y12, Bool use_percent);
43 float EWMH_GetStrutIntersection(
44 int x11, int y11, int x12, int y12, Bool use_percent);
45 void EWMH_SetFrameStrut(FvwmWindow *fw);
46 void EWMH_SetAllowedActions(FvwmWindow *fw);
48 void EWMH_GetIconGeometry(FvwmWindow *fw, rectangle *icon_rect);
50 void EWMH_GetStyle(FvwmWindow *fw, window_style *style);
51 void EWMH_WindowInit(FvwmWindow *fw);
52 void EWMH_RestoreInitialStates(FvwmWindow *fw, int event_type);
53 void EWMH_DestroyWindow(FvwmWindow *fw);
54 void EWMH_WindowDestroyed(void);
56 void EWMH_Init(void);
57 void EWMH_ExitStuff(void);
59 /* ewmh_conf.c */
61 /* ewmh_events.c */
62 Bool EWMH_ProcessClientMessage(const exec_context_t *exc);
63 void EWMH_ProcessPropertyNotify(const exec_context_t *exc);
65 /* ewmh_icon.c */
66 void EWMH_DeleteWmIcon(FvwmWindow *fw, Bool mini_icon, Bool icon);
67 int EWMH_SetIconFromWMIcon(
68 FvwmWindow *fw, CARD32 *list, int size, Bool is_mini_icon);
69 void EWMH_DoUpdateWmIcon(FvwmWindow *fw, Bool mini_icon, Bool icon);
71 /* ewmh_name.c */
72 void EWMH_SetVisibleName(FvwmWindow *fw, Bool is_icon_name);
73 int EWMH_WMName(
74 FvwmWindow *fw, XEvent *ev, window_style *style, unsigned long any);
75 int EWMH_WMIconName(
76 FvwmWindow *fw, XEvent *ev, window_style *style, unsigned long any);
77 void EWMH_SetDesktopNames(void);
78 void EWMH_fullscreen(FvwmWindow *fw);
80 #endif /* _EWMH_ */