]> git.sur5r.net Git - i3/i3/blobdiff - include/workspace.h
Merge branch 'master' into next
[i3/i3] / include / workspace.h
index d903ea82338f677935f343ab36076ace74f85921..aebf13656d866e8b15e3de5a03678f3bb9f3baed 100644 (file)
@@ -8,7 +8,6 @@
  * See file LICENSE for license information.
  *
  */
-#include <xcb/xcb.h>
 
 #include "data.h"
 #include "tree.h"
  * creating the workspace if necessary (by allocating the necessary amount of
  * memory and initializing the data structures correctly).
  *
+ * If created is not NULL, *created will be set to whether or not the
+ * workspace has just been created.
+ *
  */
-Con *workspace_get(const char *num);
+Con *workspace_get(const char *num, bool *created);
 
 #if 0
 /**
@@ -47,6 +49,18 @@ bool workspace_is_visible(Con *ws);
 /** Switches to the given workspace */
 void workspace_show(const char *num);
 
+/**
+ * Focuses the next workspace.
+ *
+ */
+void workspace_next();
+
+/**
+ * Focuses the previous workspace.
+ *
+ */
+void workspace_prev();
+
 #if 0
 /**
  * Assigns the given workspace to the given screen by correctly updating its
@@ -107,4 +121,16 @@ void workspace_update_urgent_flag(Con *ws);
  */
 void ws_force_orientation(Con *ws, orientation_t orientation);
 
+/**
+ * Called when a new con (with a window, not an empty or split con) should be
+ * attached to the workspace (for example when managing a new window or when
+ * moving an existing window to the workspace level).
+ *
+ * Depending on the workspace_layout setting, this function either returns the
+ * workspace itself (default layout) or creates a new stacked/tabbed con and
+ * returns that.
+ *
+ */
+Con *workspace_attach_to(Con *ws);
+
 #endif