i3
|
00001 /* 00002 * vim:ts=8:expandtab 00003 * 00004 * i3 - an improved dynamic tiling window manager 00005 * 00006 * (c) 2009 Michael Stapelberg and contributors 00007 * 00008 * See file LICENSE for license information. 00009 * 00010 */ 00011 #include <stdbool.h> 00012 00013 #include <xcb/xcb.h> 00014 00015 #include "data.h" 00016 00017 #ifndef _TABLE_H 00018 #define _TABLE_H 00019 00020 #define CUR_TABLE (c_ws->table) 00021 #define CUR_CELL (CUR_TABLE[current_col][current_row]) 00022 00023 extern Workspace *c_ws; 00024 extern TAILQ_HEAD(workspaces_head, Workspace) *workspaces; 00025 //extern int num_workspaces; 00026 extern int current_col; 00027 extern int current_row; 00028 00030 void init_table(); 00031 00033 void expand_table_rows(Workspace *workspace); 00034 00036 void expand_table_rows_at_head(Workspace *workspace); 00037 00039 void expand_table_cols(Workspace *workspace); 00040 00045 void expand_table_cols_at_head(Workspace *workspace); 00046 00051 bool cell_exists(Workspace *ws, int col, int row); 00052 00058 void cleanup_table(xcb_connection_t *conn, Workspace *workspace); 00059 00064 void fix_colrowspan(xcb_connection_t *conn, Workspace *workspace); 00065 00070 void dump_table(xcb_connection_t *conn, Workspace *workspace); 00071 00072 #endif