bd9de8189b
Thanks to psychoschlumpf for the hint. Having comments in the headers makes it easier to get the big picture when not being interested in the source. The doxygen file extracts as much as it can into HTML files. Please note that this is not official/supported documentation, but rather being nice to people who have to/want to use doxygen (I don’t). Let me paste the header of the doxygen file: You can use this file with doxygen to create a pseudo-documentation automatically from source. doxygen-comments are not used very extensively in i3, mostly for the reason that it clutters the source code and has no real use (doxygen’s output looks really ugly). So, if you want to use it, here you go. This is however not a supported document, and I recommend you have a look at the docs/ folder or at http://i3.zekjur.net/ for more, real documentation.
56 lines
1.4 KiB
C
56 lines
1.4 KiB
C
/*
|
||
* 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
|
||
#define _TABLE_H
|
||
|
||
#define CUR_TABLE (c_ws->table)
|
||
#define CUR_CELL (CUR_TABLE[current_col][current_row])
|
||
|
||
extern Workspace *c_ws;
|
||
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
|