1 /**
2  * @file dock.h
3  * @author Joe Wingbermuehle
4  * @date 2006
5  *
6  * @brief Dock tray component (used for system notifications).
7  *
8  */
9 
10 #ifndef DOCK_H
11 #define DOCK_H
12 
13 struct TrayComponentType;
14 
15 /*@{*/
16 void InitializeDock(void);
17 void StartupDock(void);
18 void ShutdownDock(void);
19 void DestroyDock(void);
20 /*@}*/
21 
22 /** Create a dock to be used for notifications.
23  * Note that only one dock can be created.
24  * @param width The width of an item in the dock.
25  */
26 struct TrayComponentType *CreateDock(int width);
27 
28 /** Handle a client message sent to the dock window.
29  * @param event The event.
30  */
31 void HandleDockEvent(const XClientMessageEvent *event);
32 
33 /** Handle a destroy event.
34  * @param win The window that was destroyed.
35  * @return 1 if handled, 0 otherwise.
36  */
37 char HandleDockDestroy(Window win);
38 
39 /** Handle a selection clear event.
40  * @param event The selection clear event.
41  * @return 1 if handled, 0 otherwise.
42  */
43 char HandleDockSelectionClear(const XSelectionClearEvent *event);
44 
45 /** Handle a resize request.
46  * @param event The resize request event.
47  * @return 1 if handled, 0 otherwise.
48  */
49 char HandleDockResizeRequest(const XResizeRequestEvent *event);
50 
51 /** Handle a configure request.
52  * @param event The configure request event.
53  * @return 1 if handled, 0 otherwise.
54  */
55 char HandleDockConfigureRequest(const XConfigureRequestEvent *event);
56 
57 /** Handle a reparent notify event.
58  * @param event The reparent notify event.
59  * @return 1 if handled, 0 otherwise.
60  */
61 char HandleDockReparentNotify(const XReparentEvent *event);
62 
63 #endif
64 
65