+/*
+ * vim:ts=8:expandtab
+ *
+ * i3 - an improved dynamic tiling window manager
+ *
+ * (c) 2009 Michael Stapelberg and contributors
+ *
+ * See file LICENSE for license information.
+ *
+ */
#include <stdbool.h>
+
+#include <xcb/xcb.h>
+
#include "data.h"
#ifndef _TABLE_H
extern int current_col;
extern int current_row;
+/** Initialize table */
void init_table();
+
+/** Add one row to the table */
void expand_table_rows(Workspace *workspace);
+
+/** Adds one row at the head of the table */
+void expand_table_rows_at_head(Workspace *workspace);
+
+/** Add one column to the table */
void expand_table_cols(Workspace *workspace);
+
+/**
+ * Inserts one column at the table’s head
+ *
+ */
+void expand_table_cols_at_head(Workspace *workspace);
+
+/**
+ * Performs simple bounds checking for the given column/row
+ *
+ */
bool cell_exists(int col, int row);
+/**
+ * Shrinks the table by "compacting" it, that is, removing completely empty
+ * rows/columns
+ *
+ */
+void cleanup_table(xcb_connection_t *conn, Workspace *workspace);
+
+/**
+ * Fixes col/rowspan (makes sure there are no overlapping windows)
+ *
+ */
+void fix_colrowspan(xcb_connection_t *conn, Workspace *workspace);
+
+/**
+ * Prints the table’s contents in human-readable form for debugging
+ *
+ */
+void dump_table(xcb_connection_t *conn, Workspace *workspace);
+
#endif