diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-11 21:34:21 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-11 21:34:21 +1000 |
commit | 8bb40c24c7b045df0d43e9f22c096d1473f6f9f6 (patch) | |
tree | 0c4dbac1173f92337e2cff63d45c7d8fe7a3557f /include | |
parent | ec9c4de564286d3795dd204e2c0a69b10f7572be (diff) |
Implement tiling drag
Hold floating_modifier and drag a tiling view to a new location.
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/input/seat.h | 7 | ||||
-rw-r--r-- | include/sway/tree/container.h | 5 | ||||
-rw-r--r-- | include/sway/tree/workspace.h | 2 |
3 files changed, 13 insertions, 1 deletions
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index 1ae34be5..e006faba 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h @@ -39,6 +39,7 @@ enum sway_seat_operation { OP_NONE, OP_DOWN, OP_MOVE_FLOATING, + OP_MOVE_TILING, OP_RESIZE_FLOATING, OP_RESIZE_TILING, }; @@ -64,6 +65,9 @@ struct sway_seat { // Operations (drag and resize) enum sway_seat_operation operation; struct sway_container *op_container; + struct sway_node *op_target_node; // target for tiling move + enum wlr_edges op_target_edge; + struct wlr_box op_drop_box; enum wlr_edges op_resize_edge; uint32_t op_button; bool op_resize_preserve_ratio; @@ -175,6 +179,9 @@ void seat_begin_down(struct sway_seat *seat, struct sway_container *con, void seat_begin_move_floating(struct sway_seat *seat, struct sway_container *con, uint32_t button); +void seat_begin_move_tiling(struct sway_seat *seat, + struct sway_container *con, uint32_t button); + void seat_begin_resize_floating(struct sway_seat *seat, struct sway_container *con, uint32_t button, enum wlr_edges edge); diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 2735daa3..94d30ced 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -279,8 +279,11 @@ void container_add_child(struct sway_container *parent, void container_insert_child(struct sway_container *parent, struct sway_container *child, int i); +/** + * Side should be 0 to add before, or 1 to add after. + */ void container_add_sibling(struct sway_container *parent, - struct sway_container *child); + struct sway_container *child, int side); void container_detach(struct sway_container *child); diff --git a/include/sway/tree/workspace.h b/include/sway/tree/workspace.h index af9a071a..e4b616d1 100644 --- a/include/sway/tree/workspace.h +++ b/include/sway/tree/workspace.h @@ -126,4 +126,6 @@ void workspace_update_representation(struct sway_workspace *ws); void workspace_get_box(struct sway_workspace *workspace, struct wlr_box *box); +size_t workspace_num_tiling_views(struct sway_workspace *ws); + #endif |