069d37f987
This commit changes how commands decide what container to act on. Commands get the current container though `current_container`, a global defined in sway/commands.c. If a criteria is given before a command, then the following command will be run once for every container the criteria matches with a reference to the matching container in 'current_container'. Commands should use this instead of `get_focused_container()` from now on. This commit also fixes a few (minor) mistakes made in implementing marks such as non-escaped arrows in sway(5) and calling the "mark" command "floating" by accident. It also cleans up `criteria.c` in a few places.
13 lines
462 B
C
13 lines
462 B
C
#include "sway/commands.h"
|
|
#include "sway/container.h"
|
|
#include "sway/focus.h"
|
|
|
|
struct cmd_results *cmd_kill(int argc, char **argv) {
|
|
if (config->reading) return cmd_results_new(CMD_FAILURE, "kill", "Can't be used in config file.");
|
|
if (!config->active) return cmd_results_new(CMD_FAILURE, "kill", "Can only be used when sway is running.");
|
|
|
|
swayc_t *container = current_container;
|
|
close_views(container);
|
|
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
|
|
}
|