Merge branch 'master' into effective-damage

master
Drew DeVault 6 years ago committed by GitHub
commit 25bea8f6a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -16,4 +16,5 @@ complete -c swaymsg -s t -l type -fra 'get_bar_config' --description "Get a JSON
complete -c swaymsg -s t -l type -fra 'get_version' --description "Get JSON-encoded version information for the running instance of sway." complete -c swaymsg -s t -l type -fra 'get_version' --description "Get JSON-encoded version information for the running instance of sway."
complete -c swaymsg -s t -l type -fra 'get_binding_modes' --description "Gets a JSON-encoded list of currently configured binding modes." complete -c swaymsg -s t -l type -fra 'get_binding_modes' --description "Gets a JSON-encoded list of currently configured binding modes."
complete -c swaymsg -s t -l type -fra 'get_config' --description "Gets a JSON-encoded copy of the current configuration." complete -c swaymsg -s t -l type -fra 'get_config' --description "Gets a JSON-encoded copy of the current configuration."
complete -c swaymsg -s t -l type -fra 'get_seats' --description "Gets a JSON-encoded list of all seats, its properties and all assigned devices."
complete -c swaymsg -s t -l type -fra 'send_tick' --description "Sends a tick event to all subscribed clients." complete -c swaymsg -s t -l type -fra 'send_tick' --description "Sends a tick event to all subscribed clients."

@ -15,7 +15,7 @@
struct cmd_results *cmd_exec_always(int argc, char **argv) { struct cmd_results *cmd_exec_always(int argc, char **argv) {
struct cmd_results *error = NULL; 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))) { if ((error = checkarg(argc, argv[-1], EXPECTED_AT_LEAST, 1))) {
return error; return error;
} }

@ -156,6 +156,14 @@ static struct sway_node *node_get_in_direction(struct sway_container *container,
if (new_output) { if (new_output) {
return get_node_in_output_direction(new_output, dir); 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; return NULL;
} }

@ -149,16 +149,17 @@ struct cmd_results *cmd_gaps(int argc, char **argv) {
return error; return error;
} }
bool config_loading = !config->active || config->reloading;
if (argc == 2) { if (argc == 2) {
return gaps_set_defaults(argc, argv); return gaps_set_defaults(argc, argv);
} }
if (argc == 4) { if (argc == 4 && !config_loading) {
if (config->active) {
return gaps_set_runtime(argc, argv); 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 (config_loading) {
return cmd_results_new(CMD_INVALID, "gaps",
"Expected 'gaps inner|outer <px>'");
} }
return cmd_results_new(CMD_INVALID, "gaps", return cmd_results_new(CMD_INVALID, "gaps",
"Expected 'gaps inner|outer <px>' or " "Expected 'gaps inner|outer <px>' or "

@ -389,7 +389,8 @@ bool load_main_config(const char *file, bool is_active, bool validating) {
config_defaults(config); config_defaults(config);
config->validating = validating; config->validating = validating;
if (is_active) { 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->reloading = true;
config->active = true; config->active = true;

@ -55,9 +55,6 @@ void seat_destroy(struct sway_seat *seat) {
free(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) { static void seat_node_destroy(struct sway_seat_node *seat_node) {
wl_list_remove(&seat_node->destroy.link); wl_list_remove(&seat_node->destroy.link);
wl_list_remove(&seat_node->link); wl_list_remove(&seat_node->link);

@ -133,6 +133,10 @@ They are expected to be used with *bindsym* or at runtime through *swaymsg*(1).
*fullscreen* *fullscreen*
Toggles fullscreen for the focused view. 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 *layout* default|splith|splitv|stacking|tabbed
Sets the layout mode of the focused container. Sets the layout mode of the focused container.
@ -364,6 +368,7 @@ The default colors are:
: #000000 : #000000
: #0c0c0c : #0c0c0c
*debuglog* on|off|toggle *debuglog* on|off|toggle
Enables, disables or toggles debug logging. _toggle_ cannot be used in the Enables, disables or toggles debug logging. _toggle_ cannot be used in the
configuration file. configuration file.
@ -433,10 +438,6 @@ The default colors are:
This affects new workspaces only, and is used when the workspace doesn't 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>). 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 *hide\_edge\_borders* none|vertical|horizontal|both|smart|smart\_no\_gaps
Hides window borders adjacent to the screen edges. Default is _none_. Hides window borders adjacent to the screen edges. Default is _none_.

@ -50,6 +50,10 @@ _swaymsg_ [options...] [message]
Gets a JSON-encoded layout tree of all open windows, containers, outputs, Gets a JSON-encoded layout tree of all open windows, containers, outputs,
workspaces, and so on. workspaces, and so on.
*get\_seats*
Gets a JSON-encoded list of all seats,
its properties and all assigned devices.
*get\_marks* *get\_marks*
Get a JSON-encoded list of marks. Get a JSON-encoded list of marks.

Loading…
Cancel
Save