diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-08-10 14:10:09 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-08-12 10:45:54 +1000 |
commit | b4a0363d1721b2ad2d5afb65764ecb575bd55fa4 (patch) | |
tree | f6ec316550cd113040e82a7f0cee0429fff349e5 /include/sway | |
parent | 146cc0a441f6901eeba7df691098f71d0de73a53 (diff) | |
download | sway-b4a0363d1721b2ad2d5afb65764ecb575bd55fa4.tar.xz |
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.
Diffstat (limited to 'include/sway')
-rw-r--r-- | include/sway/commands.h | 7 | ||||
-rw-r--r-- | include/sway/input/seat.h | 10 |
2 files changed, 14 insertions, 3 deletions
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 <wlr/util/edges.h> #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); |