aboutsummaryrefslogtreecommitdiff
path: root/sway/commands/swap.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/commands/swap.c')
-rw-r--r--sway/commands/swap.c56
1 files changed, 28 insertions, 28 deletions
diff --git a/sway/commands/swap.c b/sway/commands/swap.c
index a7f9691b..ce5e5128 100644
--- a/sway/commands/swap.c
+++ b/sway/commands/swap.c
@@ -16,46 +16,46 @@ static const char expected_syntax[] =
static void swap_places(struct sway_container *con1,
struct sway_container *con2) {
struct sway_container *temp = malloc(sizeof(struct sway_container));
- temp->x = con1->x;
- temp->y = con1->y;
- temp->width = con1->width;
- temp->height = con1->height;
+ temp->pending.x = con1->pending.x;
+ temp->pending.y = con1->pending.y;
+ temp->pending.width = con1->pending.width;
+ temp->pending.height = con1->pending.height;
temp->width_fraction = con1->width_fraction;
temp->height_fraction = con1->height_fraction;
- temp->parent = con1->parent;
- temp->workspace = con1->workspace;
+ temp->pending.parent = con1->pending.parent;
+ temp->pending.workspace = con1->pending.workspace;
bool temp_floating = container_is_floating(con1);
- con1->x = con2->x;
- con1->y = con2->y;
- con1->width = con2->width;
- con1->height = con2->height;
+ con1->pending.x = con2->pending.x;
+ con1->pending.y = con2->pending.y;
+ con1->pending.width = con2->pending.width;
+ con1->pending.height = con2->pending.height;
con1->width_fraction = con2->width_fraction;
con1->height_fraction = con2->height_fraction;
- con2->x = temp->x;
- con2->y = temp->y;
- con2->width = temp->width;
- con2->height = temp->height;
+ con2->pending.x = temp->pending.x;
+ con2->pending.y = temp->pending.y;
+ con2->pending.width = temp->pending.width;
+ con2->pending.height = temp->pending.height;
con2->width_fraction = temp->width_fraction;
con2->height_fraction = temp->height_fraction;
int temp_index = container_sibling_index(con1);
- if (con2->parent) {
- container_insert_child(con2->parent, con1,
+ if (con2->pending.parent) {
+ container_insert_child(con2->pending.parent, con1,
container_sibling_index(con2));
} else if (container_is_floating(con2)) {
- workspace_add_floating(con2->workspace, con1);
+ workspace_add_floating(con2->pending.workspace, con1);
} else {
- workspace_insert_tiling(con2->workspace, con1,
+ workspace_insert_tiling(con2->pending.workspace, con1,
container_sibling_index(con2));
}
- if (temp->parent) {
- container_insert_child(temp->parent, con2, temp_index);
+ if (temp->pending.parent) {
+ container_insert_child(temp->pending.parent, con2, temp_index);
} else if (temp_floating) {
- workspace_add_floating(temp->workspace, con2);
+ workspace_add_floating(temp->pending.workspace, con2);
} else {
- workspace_insert_tiling(temp->workspace, con2, temp_index);
+ workspace_insert_tiling(temp->pending.workspace, con2, temp_index);
}
free(temp);
@@ -65,8 +65,8 @@ static void swap_focus(struct sway_container *con1,
struct sway_container *con2, struct sway_seat *seat,
struct sway_container *focus) {
if (focus == con1 || focus == con2) {
- struct sway_workspace *ws1 = con1->workspace;
- struct sway_workspace *ws2 = con2->workspace;
+ struct sway_workspace *ws1 = con1->pending.workspace;
+ struct sway_workspace *ws2 = con2->pending.workspace;
enum sway_container_layout layout1 = container_parent_layout(con1);
enum sway_container_layout layout2 = container_parent_layout(con2);
if (focus == con1 && (layout2 == L_TABBED || layout2 == L_STACKED)) {
@@ -125,8 +125,8 @@ void container_swap(struct sway_container *con1, struct sway_container *con2) {
root_scratchpad_remove_container(con2);
}
- enum sway_fullscreen_mode fs1 = con1->fullscreen_mode;
- enum sway_fullscreen_mode fs2 = con2->fullscreen_mode;
+ enum sway_fullscreen_mode fs1 = con1->pending.fullscreen_mode;
+ enum sway_fullscreen_mode fs2 = con2->pending.fullscreen_mode;
if (fs1) {
container_fullscreen_disable(con1);
}
@@ -137,9 +137,9 @@ void container_swap(struct sway_container *con1, struct sway_container *con2) {
struct sway_seat *seat = config->handler_context.seat;
struct sway_container *focus = seat_get_focused_container(seat);
struct sway_workspace *vis1 =
- output_get_active_workspace(con1->workspace->output);
+ output_get_active_workspace(con1->pending.workspace->output);
struct sway_workspace *vis2 =
- output_get_active_workspace(con2->workspace->output);
+ output_get_active_workspace(con2->pending.workspace->output);
if (!sway_assert(vis1 && vis2, "con1 or con2 are on an output without a"
"workspace. This should not happen")) {
return;