9 /*! The window which gets focus when nothing else will be focused */
10 extern Window focus_backup;
12 /*! The client which is currently focused */
13 extern struct Client *focus_client;
15 /*! The recent focus order on each desktop */
16 extern GList **focus_order;
19 void focus_shutdown();
21 /*! Specify which client is currently focused, this doesn't actually
22 send focus anywhere, its called by the Focus event handlers */
23 void focus_set_client(struct Client *client);
26 Fallback_Desktop, /* switching desktops */
27 Fallback_Unfocusing, /* forcefully remove focus from the current window */
28 Fallback_NoFocus /* nothing has focus for some reason */
31 /*! Call this when you need to focus something! */
32 void focus_fallback(FallbackType type);
34 /*! Cycle focus amongst windows
35 Returns the Client to which focus has been cycled, or NULL if none. */
36 struct Client *focus_cycle(gboolean forward, gboolean linear, gboolean done,
39 /*! Add a new client into the focus order */
40 void focus_order_add_new(struct Client *c);
42 /*! Remove a client from the focus order */
43 void focus_order_remove(struct Client *c);
45 /*! Move a client to the top of the focus order */
46 void focus_order_to_top(struct Client *c);
48 /*! Move a client to the bottom of the focus order (keeps iconic windows at the
49 very bottom always though). */
50 void focus_order_to_bottom(struct Client *c);