From b4a0363d1721b2ad2d5afb65764ecb575bd55fa4 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 10 Aug 2018 14:10:09 +1000 Subject: Implement resizing tiled containers via cursor * The OP_RESIZE seat operation has been renamed to OP_RESIZE_FLOATING, and OP_RESIZE_TILING has been introduced. * Similar to the above, seat_begin_resize and handle_resize_motion have been renamed and tiling variants introduced. * resize.c's resize_tiled has to be used, so container_resize_tiled has been introduced in resize.c to allow external code to call it. --- include/sway/commands.h | 7 +++++++ include/sway/input/seat.h | 10 +++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'include/sway') diff --git a/include/sway/commands.h b/include/sway/commands.h index f83907b2..545b21e6 100644 --- a/include/sway/commands.h +++ b/include/sway/commands.h @@ -1,6 +1,7 @@ #ifndef _SWAY_COMMANDS_H #define _SWAY_COMMANDS_H +#include #include "config.h" typedef struct cmd_results *sway_cmd(int argc, char **argv); @@ -84,6 +85,12 @@ char *cmd_results_to_json(struct cmd_results *results); struct cmd_results *add_color(const char *name, char *buffer, const char *color); +/** + * TODO: Move this function and its dependent functions to container.c. + */ +void container_resize_tiled(struct sway_container *parent, enum wlr_edges edge, + int amount); + sway_cmd cmd_assign; sway_cmd cmd_bar; sway_cmd cmd_bindcode; diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index 92387601..eb4202f3 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h @@ -57,7 +57,8 @@ struct sway_seat { enum { OP_NONE, OP_MOVE, - OP_RESIZE, + OP_RESIZE_FLOATING, + OP_RESIZE_TILING, } operation; struct sway_container *op_container; @@ -159,8 +160,11 @@ void drag_icon_update_position(struct sway_drag_icon *icon); void seat_begin_move(struct sway_seat *seat, struct sway_container *con, uint32_t button); -void seat_begin_resize(struct sway_seat *seat, struct sway_container *con, - uint32_t button, enum wlr_edges edge); +void seat_begin_resize_floating(struct sway_seat *seat, + struct sway_container *con, uint32_t button, enum wlr_edges edge); + +void seat_begin_resize_tiling(struct sway_seat *seat, + struct sway_container *con, uint32_t button, enum wlr_edges edge); void seat_end_mouse_operation(struct sway_seat *seat); -- cgit v1.2.3