floating: use con_fix_percent
This commit is contained in:
parent
574e6b51d1
commit
2f4210d3cf
@ -22,17 +22,7 @@ void floating_enable(Con *con, bool automatic) {
|
|||||||
TAILQ_REMOVE(&(con->parent->nodes_head), con, nodes);
|
TAILQ_REMOVE(&(con->parent->nodes_head), con, nodes);
|
||||||
TAILQ_REMOVE(&(con->parent->focus_head), con, focused);
|
TAILQ_REMOVE(&(con->parent->focus_head), con, focused);
|
||||||
|
|
||||||
Con *child;
|
con_fix_percent(con->parent, WINDOW_REMOVE);
|
||||||
int children = 0;
|
|
||||||
TAILQ_FOREACH(child, &(con->parent->nodes_head), nodes)
|
|
||||||
children++;
|
|
||||||
/* TODO: better document why this math works */
|
|
||||||
double fix = 1.0 / (1.0 - (1.0 / (children+1)));
|
|
||||||
TAILQ_FOREACH(child, &(con->parent->nodes_head), nodes) {
|
|
||||||
if (child->percent <= 0.0)
|
|
||||||
continue;
|
|
||||||
child->percent *= fix;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 2: create a new container to render the decoration on, add
|
/* 2: create a new container to render the decoration on, add
|
||||||
* it as a floating window to the workspace */
|
* it as a floating window to the workspace */
|
||||||
@ -72,6 +62,8 @@ void floating_disable(Con *con, bool automatic) {
|
|||||||
TAILQ_INSERT_TAIL(&(con->parent->focus_head), con, focused);
|
TAILQ_INSERT_TAIL(&(con->parent->focus_head), con, focused);
|
||||||
|
|
||||||
con->floating = FLOATING_USER_OFF;
|
con->floating = FLOATING_USER_OFF;
|
||||||
|
|
||||||
|
con_fix_percent(con->parent, WINDOW_ADD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user