allow specifying that some focus events should be ignored for the focus order list
[dana/openbox.git] / openbox / focus.h
1 #ifndef __focus_h
2 #define __focus_h
3
4 #include <X11/Xlib.h>
5 #include <glib.h>
6
7 struct Client;
8
9 /*! The window which gets focus when nothing else will be focused */
10 extern Window focus_backup;
11
12 /*! The client which is currently focused */
13 extern struct Client *focus_client;
14
15 /* The number of FocusIn events which should be ignored for tracking the focus
16    order */
17 extern int focus_ignore_in;
18
19 /*! The recent focus order on each desktop */
20 extern GList **focus_order;
21
22 /*! Should new windows be focused */
23 extern gboolean focus_new;
24 /*! Should focus follow the mouse pointer */
25 extern gboolean focus_follow;
26
27 void focus_startup();
28 void focus_shutdown();
29
30 /*! Specify which client is currently focused, this doesn't actually
31   send focus anywhere, its called by the Focus event handlers */
32 void focus_set_client(struct Client *client);
33
34 /*! Call this when you need to focus something! */
35 void focus_fallback(gboolean switching_desks);
36
37 #endif