|
|
|
@ -250,6 +250,9 @@ static int container_limit(struct sway_container *container,
|
|
|
|
|
return move_offs(move_dir) < 0 ? 0 : container->children->length - 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Takes one child, sets it aside, wraps the rest of the children in a new
|
|
|
|
|
* container, switches the layout of the workspace, and drops the child back in.
|
|
|
|
|
* In other words, rejigger it. */
|
|
|
|
|
static void workspace_rejigger(struct sway_container *ws,
|
|
|
|
|
struct sway_container *child, enum movement_direction move_dir) {
|
|
|
|
|
struct sway_container *original_parent = child->parent;
|
|
|
|
@ -311,8 +314,8 @@ void container_move(struct sway_container *container,
|
|
|
|
|
sway_dir_to_wlr(move_dir, &wlr_dir);
|
|
|
|
|
double ref_x = current->x + current->width / 2;
|
|
|
|
|
double ref_y = current->y + current->height / 2;
|
|
|
|
|
ref_x += current->sway_output->wlr_output->lx;
|
|
|
|
|
ref_y += current->sway_output->wlr_output->ly;
|
|
|
|
|
ref_x += current->sway_output->swayc->x;
|
|
|
|
|
ref_y += current->sway_output->swayc->y;
|
|
|
|
|
struct wlr_output *next = wlr_output_layout_adjacent_output(
|
|
|
|
|
root_container.sway_root->output_layout, wlr_dir,
|
|
|
|
|
current->sway_output->wlr_output,
|
|
|
|
|