mirror of
https://github.com/swaywm/sway.git
synced 2025-11-05 13:29:51 -05:00
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
This commit is contained in:
parent
68a28e482f
commit
6b8bf10941
12 changed files with 35 additions and 30 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue