From 6b8bf10941ec83ac7a6e364b9c34f8c6f74d814a Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Mon, 28 Jan 2019 19:06:42 +1000 Subject: Introduce container_is_scratchpad_hidden Just a convenience function that improves readability of the code. Other things worth noting: * container_get_siblings and container_sibling_index no longer use the const keyword * container_handle_fullscreen_reparent is only ever called after attaching the container to a workspace, so its con->workspace check has been changed to an assertion --- sway/commands/focus.c | 2 +- sway/commands/move.c | 4 ++-- sway/commands/resize.c | 10 ++++++---- sway/commands/split.c | 2 +- sway/commands/sticky.c | 6 +++--- 5 files changed, 13 insertions(+), 11 deletions(-) (limited to 'sway/commands') diff --git a/sway/commands/focus.c b/sway/commands/focus.c index 87fe6cf3..79b2f551 100644 --- a/sway/commands/focus.c +++ b/sway/commands/focus.c @@ -271,7 +271,7 @@ struct cmd_results *cmd_focus(int argc, char **argv) { } if (argc == 0 && container) { - if (container->scratchpad && !container->workspace) { + if (container_is_scratchpad_hidden(container)) { root_scratchpad_show(container); } seat_set_focus_container(seat, container); diff --git a/sway/commands/move.c b/sway/commands/move.c index aa06b168..8c3afae9 100644 --- a/sway/commands/move.c +++ b/sway/commands/move.c @@ -659,7 +659,7 @@ static struct cmd_results *cmd_move_in_direction( return cmd_results_new(CMD_FAILURE, "Cannot move workspaces in a direction"); } - if (container->scratchpad && !container->workspace) { + if (container_is_scratchpad_hidden(container)) { return cmd_results_new(CMD_FAILURE, "Cannot move a hidden scratchpad container"); } @@ -734,7 +734,7 @@ static struct cmd_results *cmd_move_to_position(int argc, char **argv) { return cmd_results_new(CMD_FAILURE, "Only floating containers " "can be moved to an absolute position"); } - if (container->scratchpad && !container->workspace) { + if (container_is_scratchpad_hidden(container)) { return cmd_results_new(CMD_FAILURE, "Cannot move a hidden scratchpad container"); } diff --git a/sway/commands/resize.c b/sway/commands/resize.c index 204de539..c9261535 100644 --- a/sway/commands/resize.c +++ b/sway/commands/resize.c @@ -86,7 +86,8 @@ static void calculate_constraints(int *min_width, int *max_width, *min_height = config->floating_minimum_height; } - if (config->floating_maximum_width == -1 || !con->workspace) { // no max + if (config->floating_maximum_width == -1 || + container_is_scratchpad_hidden(con)) { // no max *max_width = INT_MAX; } else if (config->floating_maximum_width == 0) { // automatic *max_width = con->workspace->width; @@ -94,7 +95,8 @@ static void calculate_constraints(int *min_width, int *max_width, *max_width = config->floating_maximum_width; } - if (config->floating_maximum_height == -1 || !con->workspace) { // no max + if (config->floating_maximum_height == -1 || + container_is_scratchpad_hidden(con)) { // no max *max_height = INT_MAX; } else if (config->floating_maximum_height == 0) { // automatic *max_height = con->workspace->height; @@ -386,7 +388,7 @@ static struct cmd_results *resize_set_floating(struct sway_container *con, if (width->amount) { switch (width->unit) { case RESIZE_UNIT_PPT: - if (con->scratchpad && !con->workspace) { + if (container_is_scratchpad_hidden(con)) { return cmd_results_new(CMD_FAILURE, "Cannot resize a hidden scratchpad container by ppt"); } @@ -410,7 +412,7 @@ static struct cmd_results *resize_set_floating(struct sway_container *con, if (height->amount) { switch (height->unit) { case RESIZE_UNIT_PPT: - if (con->scratchpad && !con->workspace) { + if (container_is_scratchpad_hidden(con)) { return cmd_results_new(CMD_FAILURE, "Cannot resize a hidden scratchpad container by ppt"); } diff --git a/sway/commands/split.c b/sway/commands/split.c index b7ab7b79..e9670722 100644 --- a/sway/commands/split.c +++ b/sway/commands/split.c @@ -13,7 +13,7 @@ static struct cmd_results *do_split(int layout) { struct sway_container *con = config->handler_context.container; struct sway_workspace *ws = config->handler_context.workspace; if (con) { - if (con->scratchpad && !con->workspace) { + if (container_is_scratchpad_hidden(con)) { return cmd_results_new(CMD_FAILURE, "Cannot split a hidden scratchpad container"); } diff --git a/sway/commands/sticky.c b/sway/commands/sticky.c index e79af8af..5b70199c 100644 --- a/sway/commands/sticky.c +++ b/sway/commands/sticky.c @@ -17,15 +17,15 @@ struct cmd_results *cmd_sticky(int argc, char **argv) { return error; } struct sway_container *container = config->handler_context.container; - + if (container == NULL) { return cmd_results_new(CMD_FAILURE, "No current container"); }; - + container->is_sticky = parse_boolean(argv[0], container->is_sticky); if (container->is_sticky && container_is_floating_or_child(container) && - (!container->scratchpad || container->workspace)) { + !container_is_scratchpad_hidden(container)) { // move container to active workspace struct sway_workspace *active_workspace = output_get_active_workspace(container->workspace->output); -- cgit v1.2.3