2012-08-17 22:18:26 +02:00
|
|
|
#ifndef _TREE_H
|
|
|
|
#define _TREE_H
|
|
|
|
|
2012-08-20 12:20:12 +02:00
|
|
|
#define INC_EXP 0.9
|
|
|
|
#define DEC_EXP 1.1
|
|
|
|
|
2012-08-29 18:37:31 +02:00
|
|
|
bool is_leaf(node_t *);
|
2012-09-18 17:21:04 +02:00
|
|
|
bool is_tiled(client_t *);
|
|
|
|
bool is_floating(client_t *);
|
|
|
|
bool is_first_child(node_t *);
|
|
|
|
bool is_second_child(node_t *);
|
2012-08-29 18:37:31 +02:00
|
|
|
void change_split_ratio(node_t *, value_change_t);
|
|
|
|
node_t *first_extrema(node_t *);
|
|
|
|
node_t *second_extrema(node_t *);
|
2012-09-04 11:14:01 +02:00
|
|
|
node_t *next_leaf(node_t *);
|
|
|
|
node_t *prev_leaf(node_t *);
|
2012-08-29 18:37:31 +02:00
|
|
|
node_t *find_fence(node_t *, direction_t);
|
|
|
|
node_t *find_neighbor(node_t *, direction_t);
|
|
|
|
void move_fence(node_t *, direction_t, fence_move_t);
|
|
|
|
void rotate_tree(node_t *, rotate_t);
|
2012-10-17 16:18:40 +02:00
|
|
|
void arrange(monitor_t *, desktop_t *);
|
2012-10-18 11:15:43 +02:00
|
|
|
void apply_layout(monitor_t *, desktop_t *, node_t *, xcb_rectangle_t, xcb_rectangle_t);
|
2012-10-29 10:45:47 +01:00
|
|
|
void insert_node(monitor_t *, desktop_t *, node_t *);
|
2012-12-25 23:13:11 +01:00
|
|
|
void list(desktop_t *, node_t *, char *, unsigned int);
|
2012-10-17 16:18:40 +02:00
|
|
|
void list_desktops(monitor_t *, list_option_t, unsigned int, char *);
|
|
|
|
void list_monitors(list_option_t, char *);
|
2012-12-17 20:12:23 +01:00
|
|
|
void put_status(void);
|
2012-10-17 16:18:40 +02:00
|
|
|
void focus_node(monitor_t *, desktop_t *, node_t *, bool);
|
2012-09-19 22:59:13 +02:00
|
|
|
void update_current(void);
|
2012-09-11 16:29:43 +02:00
|
|
|
void unlink_node(desktop_t *, node_t *);
|
2012-09-06 14:43:59 +02:00
|
|
|
void remove_node(desktop_t *, node_t *);
|
2012-09-16 14:16:58 +02:00
|
|
|
void swap_nodes(node_t *, node_t *);
|
2012-10-17 16:18:40 +02:00
|
|
|
void fit_monitor(monitor_t *, client_t *);
|
|
|
|
void transfer_node(monitor_t *, desktop_t *, monitor_t *, desktop_t *, node_t *);
|
|
|
|
void select_monitor(monitor_t *);
|
2012-09-06 14:43:59 +02:00
|
|
|
void select_desktop(desktop_t *);
|
2012-10-17 16:18:40 +02:00
|
|
|
void cycle_monitor(cycle_dir_t);
|
2012-10-23 13:31:11 +02:00
|
|
|
void cycle_desktop(monitor_t *, desktop_t *, cycle_dir_t, skip_desktop_t);
|
2012-10-23 12:17:19 +02:00
|
|
|
void cycle_leaf(monitor_t *, desktop_t *, node_t *, cycle_dir_t, skip_client_t);
|
2012-10-23 13:31:11 +02:00
|
|
|
void nearest_leaf(monitor_t *, desktop_t *, node_t *, nearest_arg_t, skip_client_t);
|
2012-11-01 22:47:03 +01:00
|
|
|
void circulate_leaves(monitor_t *, desktop_t *, circulate_dir_t);
|
2012-09-11 16:29:43 +02:00
|
|
|
void update_vacant_state(node_t *);
|
2012-08-17 22:18:26 +02:00
|
|
|
|
|
|
|
#endif
|