Allow non-interactive focus cycling.
[dana/openbox.git] / openbox / focus_cycle.h
index afdbdc7..8acb53d 100644 (file)
@@ -21,6 +21,7 @@
 #define __focus_cycle_h
 
 #include "misc.h"
+#include "focus_cycle_popup.h"
 
 #include <X11/Xlib.h>
 #include <glib.h>
@@ -34,20 +35,24 @@ void focus_cycle_startup(gboolean reconfig);
 void focus_cycle_shutdown(gboolean reconfig);
 
 /*! Cycle focus amongst windows. */
-void focus_cycle(gboolean forward, gboolean all_desktops,
-                 gboolean dock_windows, gboolean desktop_windows,
-                 gboolean linear, gboolean interactive,
-                 gboolean dialog, gboolean done, gboolean cancel);
-void focus_directional_cycle(ObDirection dir, gboolean dock_windows,
-                             gboolean desktop_windows, gboolean interactive,
-                             gboolean dialog, gboolean done, gboolean cancel);
-
-void focus_cycle_stop(struct _ObClient *ifclient);
-
-gboolean  focus_cycle_target_valid(struct _ObClient *ft,
-                                   gboolean iconic_windows,
-                                   gboolean all_desktops,
-                                   gboolean dock_windows,
-                                   gboolean desktop_windows);
+struct _ObClient* focus_cycle(gboolean forward, gboolean all_desktops,
+                              gboolean nonhilite_windows,
+                              gboolean dock_windows, gboolean desktop_windows,
+                              gboolean linear, gboolean showbar,
+                              ObFocusCyclePopupMode mode,
+                              gboolean done, gboolean cancel);
+struct _ObClient* focus_directional_cycle(ObDirection dir,
+                                          gboolean dock_windows,
+                                          gboolean desktop_windows,
+                                          gboolean interactive,
+                                          gboolean showbar,
+                                          gboolean dialog,
+                                          gboolean done, gboolean cancel);
+
+/*! Set @redraw to FALSE if there are more clients to be added/removed first */
+void focus_cycle_addremove(struct _ObClient *ifclient, gboolean redraw);
+void focus_cycle_reorder();
+
+gboolean focus_cycle_valid(struct _ObClient *client);
 
 #endif