move con_focus to con.c

This commit is contained in:
Michael Stapelberg 2010-04-16 21:04:36 +02:00
parent 4796798074
commit e0b7ae872e
4 changed files with 19 additions and 19 deletions

View File

@ -2,6 +2,7 @@
#define _CON_H
Con *con_new(Con *parent);
void con_focus(Con *con);
bool con_is_leaf(Con *con);
bool con_accepts_window(Con *con);
Con *con_get_output(Con *con);

View File

@ -15,7 +15,6 @@ extern struct all_cons_head all_cons;
void tree_init();
Con *tree_open_con(Con *con);
void tree_split(Con *con, orientation_t orientation);
void con_focus(Con *con);
void level_up();
void level_down();
void tree_render();

View File

@ -74,6 +74,24 @@ void con_detach(Con *con) {
}
}
/*
* Sets input focus to the given container. Will be updated in X11 in the next
* run of x_push_changes().
*
*/
void con_focus(Con *con) {
assert(con != NULL);
/* 1: set focused-pointer to the new con */
/* 2: exchange the position of the container in focus stack of the parent all the way up */
TAILQ_REMOVE(&(con->parent->focus_head), con, focused);
TAILQ_INSERT_HEAD(&(con->parent->focus_head), con, focused);
if (con->parent->parent != NULL)
con_focus(con->parent);
focused = con;
}
/*
* Returns true when this node is a leaf node (has no children)
*

View File

@ -9,24 +9,6 @@ struct Con *focused;
struct all_cons_head all_cons = TAILQ_HEAD_INITIALIZER(all_cons);
/*
* Sets input focus to the given container. Will be updated in X11 in the next
* run of x_push_changes().
*
*/
void con_focus(Con *con) {
assert(con != NULL);
/* 1: set focused-pointer to the new con */
/* 2: exchange the position of the container in focus stack of the parent all the way up */
TAILQ_REMOVE(&(con->parent->focus_head), con, focused);
TAILQ_INSERT_HEAD(&(con->parent->focus_head), con, focused);
if (con->parent->parent != NULL)
con_focus(con->parent);
focused = con;
}
/*
* Loads tree from ~/.i3/_restart.json
*