diff options
Diffstat (limited to 'sway')
-rw-r--r-- | sway/commands/exec_always.c | 2 | ||||
-rw-r--r-- | sway/commands/focus.c | 8 | ||||
-rw-r--r-- | sway/commands/gaps.c | 15 | ||||
-rw-r--r-- | sway/config.c | 3 | ||||
-rw-r--r-- | sway/input/seat.c | 3 | ||||
-rw-r--r-- | sway/sway.5.scd | 9 |
6 files changed, 24 insertions, 16 deletions
diff --git a/sway/commands/exec_always.c b/sway/commands/exec_always.c index 8bdeceeb..7a15709b 100644 --- a/sway/commands/exec_always.c +++ b/sway/commands/exec_always.c @@ -15,7 +15,7 @@ struct cmd_results *cmd_exec_always(int argc, char **argv) { struct cmd_results *error = NULL; - if (!config->active) return cmd_results_new(CMD_DEFER, NULL, NULL); + if (!config->active || config->validating) return cmd_results_new(CMD_DEFER, NULL, NULL); if ((error = checkarg(argc, argv[-1], EXPECTED_AT_LEAST, 1))) { return error; } diff --git a/sway/commands/focus.c b/sway/commands/focus.c index cef92144..f6338c55 100644 --- a/sway/commands/focus.c +++ b/sway/commands/focus.c @@ -156,6 +156,14 @@ static struct sway_node *node_get_in_direction(struct sway_container *container, if (new_output) { return get_node_in_output_direction(new_output, dir); } + + // If there is a wrap candidate, return its focus inactive view + if (wrap_candidate) { + struct sway_container *wrap_inactive = seat_get_focus_inactive_view( + seat, &wrap_candidate->node); + return &wrap_inactive->node; + } + return NULL; } diff --git a/sway/commands/gaps.c b/sway/commands/gaps.c index ca8cb27a..3f0ef155 100644 --- a/sway/commands/gaps.c +++ b/sway/commands/gaps.c @@ -149,16 +149,17 @@ struct cmd_results *cmd_gaps(int argc, char **argv) { return error; } + bool config_loading = !config->active || config->reloading; + if (argc == 2) { return gaps_set_defaults(argc, argv); } - if (argc == 4) { - if (config->active) { - return gaps_set_runtime(argc, argv); - } else { - return cmd_results_new(CMD_INVALID, "gaps", - "This syntax can only be used when sway is running"); - } + if (argc == 4 && !config_loading) { + return gaps_set_runtime(argc, argv); + } + if (config_loading) { + return cmd_results_new(CMD_INVALID, "gaps", + "Expected 'gaps inner|outer <px>'"); } return cmd_results_new(CMD_INVALID, "gaps", "Expected 'gaps inner|outer <px>' or " diff --git a/sway/config.c b/sway/config.c index 9ec40367..7ef3ef38 100644 --- a/sway/config.c +++ b/sway/config.c @@ -389,7 +389,8 @@ bool load_main_config(const char *file, bool is_active, bool validating) { config_defaults(config); config->validating = validating; if (is_active) { - wlr_log(WLR_DEBUG, "Performing configuration file reload"); + wlr_log(WLR_DEBUG, "Performing configuration file %s", + validating ? "validation" : "reload"); config->reloading = true; config->active = true; diff --git a/sway/input/seat.c b/sway/input/seat.c index 64419afa..54fdf40b 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -55,9 +55,6 @@ void seat_destroy(struct sway_seat *seat) { free(seat); } -static struct sway_seat_node *seat_node_from_node( - struct sway_seat *seat, struct sway_node *node); - static void seat_node_destroy(struct sway_seat_node *seat_node) { wl_list_remove(&seat_node->destroy.link); wl_list_remove(&seat_node->link); diff --git a/sway/sway.5.scd b/sway/sway.5.scd index b3d696f2..4a645837 100644 --- a/sway/sway.5.scd +++ b/sway/sway.5.scd @@ -133,6 +133,10 @@ They are expected to be used with *bindsym* or at runtime through *swaymsg*(1). *fullscreen* Toggles fullscreen for the focused view. +*gaps* inner|outer all|current set|plus|minus <amount> + Changes the _inner_ or _outer_ gaps for either _all_ workspaces or the + _current_ workspace. + *layout* default|splith|splitv|stacking|tabbed Sets the layout mode of the focused container. @@ -364,6 +368,7 @@ The default colors are: : #000000 : #0c0c0c + *debuglog* on|off|toggle Enables, disables or toggles debug logging. _toggle_ cannot be used in the configuration file. @@ -433,10 +438,6 @@ The default colors are: This affects new workspaces only, and is used when the workspace doesn't have its own gaps settings (see: workspace <ws> gaps inner|outer <amount>). -*gaps* inner|outer all|current set|plus|minus <amount> - Changes the _inner_ or _outer_ gaps for either _all_ workspaces or the - _current_ workspace. - *hide\_edge\_borders* none|vertical|horizontal|both|smart|smart\_no\_gaps Hides window borders adjacent to the screen edges. Default is _none_. |