merge the C branch into HEAD
[openbox.git] / c / obexport.h
blob17f68f4a53d2500be9fa7ee7ada31a2e906ff4b1
1 #ifndef __obexport_h
2 #define __obexport_h
4 #include <X11/Xlib.h>
6 /* Define values which will be exported in the 'ob' module. */
8 typedef enum {
9 /*! Occurs when the mouse enters a window */
10 Logical_EnterWindow,
11 /*! Occurs when the mouse enters a window */
12 Logical_LeaveWindow,
13 /*! Occurs when a window is finished being managed, just before it is
14 (possibly) displayed.
15 The python scripts are reponsible for showing the window when this is
16 called if they want it to be shown.
18 Logical_NewWindow,
19 /*! Occurs when a window is being unmanaged */
20 Logical_CloseWindow,
21 /*! Occurs when the window manager starts up */
22 Logical_Startup,
23 /*! Occurs when the window manager is shutting down */
24 Logical_Shutdown,
25 /*! Occurs when a client is requesting/requested to be activated (i.e.
26 focused, raised, unshaded) */
27 Logical_RequestActivate,
28 /*! Occurs when the input focus target changes
29 The data.client will be NULL of no client is focused. */
30 Logical_Focus,
31 /*! Occurs when the system is fired through X.
32 The data.client will hold the client associated with the bell if
33 one has been specified, or NULL. */
34 Logical_Bell,
35 /*! Occurs when a client toggles its urgent status.
36 The client.urgent member can be used to get the status. */
37 Logical_UrgentWindow,
38 /*! Occurs when a client becomes visible */
39 Logical_WindowShow,
40 /*! Occurs when a client becomes non-visible */
41 Logical_WindowHide,
42 /*! Occurs when a pointer button is pressed on a client or its
43 decorations.
44 Note: to get the event for the client's window or for the entire
45 window+decorations, you need to do an mgrab for the window. */
46 Pointer_Press,
47 /*! Occurs when a pointer button is released on a client or its
48 decorations.
49 Note: to get the event for the client's window or for the entire
50 window+decorations, you need to do an mgrab for the window. */
51 Pointer_Release,
52 /*! Occurs when a pointer button is held and the pointer is dragged on a
53 client or its decorations.
54 Note: to get the event for the client's window or for the entire
55 window+decorations, you need to do an mgrab for the window, or an
56 mgrab_pointer (in which case it may not be a drag). */
57 Pointer_Motion,
58 /*! Occurs when a key is pressed.
59 Note: in order to recieve a key event, a kgrab must be done for the
60 key combination, or a kgrab_keyboard.
62 Key_Press,
63 /*! Occurs when a key is released.
64 Note: in order to recieve a key event, a kgrab must be done for the
65 key combination, or a kgrab_keyboard.
67 Key_Release
68 } EventType;
70 /* create the 'ob' module */
71 void obexport_startup();
72 void obexport_shutdown();
74 #endif