X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Ftable.h;h=355839b1820a56dc1905e1bae4fb0b450672f946;hb=58cbce0380fc65c2998837851abffe8525fc7182;hp=1d6ca8f76dd7541a8ef4384ab31ddca2ba60cbcf;hpb=82dd64ff241b2dc376f44cea4e174a5face7c19d;p=i3%2Fi3 diff --git a/include/table.h b/include/table.h index 1d6ca8f7..355839b1 100644 --- a/include/table.h +++ b/include/table.h @@ -1,4 +1,17 @@ +/* + * vim:ts=8:expandtab + * + * i3 - an improved dynamic tiling window manager + * + * (c) 2009 Michael Stapelberg and contributors + * + * See file LICENSE for license information. + * + */ #include + +#include + #include "data.h" #ifndef _TABLE_H @@ -12,9 +25,47 @@ extern Workspace workspaces[10]; 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