parser: implement explicit "mode floating"/"mode tiling"
This commit is contained in:
parent
2da4173144
commit
bd9e5c0bc4
@ -448,7 +448,11 @@ mode:
|
||||
toggle_floating_mode(focused, false);
|
||||
} else {
|
||||
printf("should switch mode to %s\n", ($<number>3 == TOK_FLOATING ? "floating" : "tiling"));
|
||||
/* TODO: actually switch mode (not toggle) */
|
||||
if ($<number>3 == TOK_FLOATING) {
|
||||
floating_enable(focused, false);
|
||||
} else {
|
||||
floating_disable(focused, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
;
|
||||
|
@ -17,6 +17,11 @@
|
||||
extern xcb_connection_t *conn;
|
||||
|
||||
void floating_enable(Con *con, bool automatic) {
|
||||
if (con_is_floating(con)) {
|
||||
LOG("Container is already in floating mode, not doing anything.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* 1: detach the container from its parent */
|
||||
/* TODO: refactor this with tree_close() */
|
||||
TAILQ_REMOVE(&(con->parent->nodes_head), con, nodes);
|
||||
@ -45,6 +50,11 @@ void floating_enable(Con *con, bool automatic) {
|
||||
}
|
||||
|
||||
void floating_disable(Con *con, bool automatic) {
|
||||
if (!con_is_floating(con)) {
|
||||
LOG("Container isn't floating, not doing anything.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
assert(con->old_parent != NULL);
|
||||
|
||||
/* 1: detach from parent container */
|
||||
|
Loading…
Reference in New Issue
Block a user