mirror of
https://github.com/swaywm/sway.git
synced 2024-11-30 03:41:27 +00:00
Added "layout incnmaster|incncol" commands
This commit is contained in:
parent
5425d0489f
commit
8b0073b195
|
@ -74,6 +74,36 @@ struct cmd_results *cmd_layout(int argc, char **argv) {
|
||||||
parent = new_container(parent, L_AUTO_BOTTOM);
|
parent = new_container(parent, L_AUTO_BOTTOM);
|
||||||
}
|
}
|
||||||
swayc_change_layout(parent, L_AUTO_BOTTOM);
|
swayc_change_layout(parent, L_AUTO_BOTTOM);
|
||||||
|
} else if (strcasecmp(argv[0], "incnmaster") == 0) {
|
||||||
|
if ((error = checkarg(argc, "layout incnmaster",
|
||||||
|
EXPECTED_EQUAL_TO, 2))) {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
int inc = (int) strtol(argv[1], NULL, 10);
|
||||||
|
swayc_t *container = get_focused_view(swayc_active_workspace());
|
||||||
|
if (container && inc &&
|
||||||
|
is_auto_layout(container->parent->layout) &&
|
||||||
|
((int)container->parent->nb_master + inc >= 0)) {
|
||||||
|
for (int i = container->parent->nb_master;
|
||||||
|
i >= 0 && i < container->parent->children->length &&
|
||||||
|
i != (int) container->parent->nb_master + inc;) {
|
||||||
|
((swayc_t *) container->parent->children->items[i])->height = -1;
|
||||||
|
((swayc_t *) container->parent->children->items[i])->width = -1;
|
||||||
|
i += inc > 0 ? 1 : -1;
|
||||||
|
}
|
||||||
|
container->parent->nb_master += inc;
|
||||||
|
}
|
||||||
|
} else if ((strcasecmp(argv[0], "incncol") == 0) && argc ==2) {
|
||||||
|
if ((error = checkarg(argc, "layout incncol",
|
||||||
|
EXPECTED_EQUAL_TO, 2))) {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
int inc = (int) strtol(argv[1], NULL, 10);
|
||||||
|
swayc_t *container = get_focused_view(swayc_active_workspace());
|
||||||
|
if (container && inc && is_auto_layout(container->parent->layout) &&
|
||||||
|
((int)container->parent->nb_slave_groups + inc >= 1)) {
|
||||||
|
container->parent->nb_slave_groups += inc;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,11 +62,14 @@ They are expected to be used with **bindsym** or at runtime through **swaymsg**(
|
||||||
Make focused view floating, non-floating, or the opposite of what it is now.
|
Make focused view floating, non-floating, or the opposite of what it is now.
|
||||||
|
|
||||||
**focus** <direction>::
|
**focus** <direction>::
|
||||||
Direction may be one of _up_, _down_, _left_, _right_, _parent_, or _child_.
|
Direction may be one of _up_, _down_, _left_, _right_, _next_, _prev_,
|
||||||
The directional focus commands will move the focus in that direction. The parent
|
_parent_, or _child_. The directional focus commands will move the focus
|
||||||
focus command will change the focus to the parent of the currently focused
|
in that direction. The auto_next and auto_prev will focus the next,
|
||||||
container, which is useful, for example, to open a sibling of the parent
|
respectively previous, element in the current container if it is using
|
||||||
container, or to move the entire container around.
|
one of the _auto_ layouts. The parent focus command will change the
|
||||||
|
focus to the parent of the currently focused container, which is useful,
|
||||||
|
for example, to open a sibling of the parent container, or to move the
|
||||||
|
entire container around.
|
||||||
|
|
||||||
**focus** output <direction|name>::
|
**focus** output <direction|name>::
|
||||||
Direction may be one of _up_, _down_, _left_, _right_. The directional focus
|
Direction may be one of _up_, _down_, _left_, _right_. The directional focus
|
||||||
|
@ -84,6 +87,11 @@ They are expected to be used with **bindsym** or at runtime through **swaymsg**(
|
||||||
_splitv_, _toggle split_, _stacking_, _tabbed_, _auto_left_, _auto_right_,
|
_splitv_, _toggle split_, _stacking_, _tabbed_, _auto_left_, _auto_right_,
|
||||||
_auto_top, _auto_bottom_.
|
_auto_top, _auto_bottom_.
|
||||||
|
|
||||||
|
**layout** <incnmaster|incncol> <n>::
|
||||||
|
Modify the number of master elements, respectively slave columns, in the
|
||||||
|
focused container. <n> can be a positive or negative integer. These commands
|
||||||
|
only have an effect if the focused container uses one of the "auto" layouts.
|
||||||
|
|
||||||
**move** <left|right|up|down>::
|
**move** <left|right|up|down>::
|
||||||
Moves the focused container _left_, _right_, _up_, or _down_.
|
Moves the focused container _left_, _right_, _up_, or _down_.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue