]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus.h
use the new ptr cursor defn
[chaz/openbox] / openbox / focus.h
index 976b50dfdf73a7ebf8e9c747d8105c71e5c9f8d3..d7f0183e901e6db88fb9ee96518ad5ecbe1f8064 100644 (file)
@@ -12,18 +12,9 @@ extern Window focus_backup;
 /*! The client which is currently focused */
 extern struct Client *focus_client;
 
-/* The number of FocusIn events which should be ignored for tracking the focus
-   order */
-extern int focus_ignore_in;
-
 /*! The recent focus order on each desktop */
 extern GList **focus_order;
 
-/*! Should new windows be focused */
-extern gboolean focus_new;
-/*! Should focus follow the mouse pointer */
-extern gboolean focus_follow;
-
 void focus_startup();
 void focus_shutdown();
 
@@ -31,7 +22,18 @@ void focus_shutdown();
   send focus anywhere, its called by the Focus event handlers */
 void focus_set_client(struct Client *client);
 
+typedef enum {
+    Fallback_Desktop,    /* switching desktops */
+    Fallback_Unfocusing, /* forcefully remove focus from the curernt window */
+    Fallback_NoFocus     /* nothing has focus for some reason */
+} FallbackType;
+
 /*! Call this when you need to focus something! */
-void focus_fallback(gboolean switching_desks);
+void focus_fallback(FallbackType type);
+
+/*! Cycle focus amongst windows
+  Returns the Client to which focus has been cycled, or NULL if none. */
+struct Client *focus_cycle(gboolean forward, gboolean linear, gboolean done,
+                           gboolean cancel);
 
 #endif
This page took 0.024033 seconds and 4 git commands to generate.