Improve criteria handling

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.
This commit is contained in:
Calvin Lee 2017-04-04 21:20:27 -06:00
parent 7d43a76b4e
commit 069d37f987
16 changed files with 116 additions and 53 deletions

View file

@ -5,6 +5,9 @@
#include <wlc/wlc.h>
#include "config.h"
// Container that a called command should act upon. Only valid in command functions.
extern swayc_t *current_container;
/**
* Indicates the result of a command's execution.
*/