diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-07-16 22:18:12 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-07-16 22:18:12 +1000 |
commit | fc2484095a71206fe82f5042c0d127458a8da3bc (patch) | |
tree | c1d10d53e34eac84a7083db3591de17c5fdcf16e /sway/commands | |
parent | a588b326c24c65a691596bc9eb72ce9080d9de91 (diff) |
Implement no_focus command
Diffstat (limited to 'sway/commands')
-rw-r--r-- | sway/commands/no_focus.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sway/commands/no_focus.c b/sway/commands/no_focus.c new file mode 100644 index 00000000..61a8de7e --- /dev/null +++ b/sway/commands/no_focus.c @@ -0,0 +1,26 @@ +#define _XOPEN_SOURCE 500 +#include <string.h> +#include "sway/commands.h" +#include "sway/criteria.h" +#include "list.h" +#include "log.h" + +struct cmd_results *cmd_no_focus(int argc, char **argv) { + struct cmd_results *error = NULL; + if ((error = checkarg(argc, "no_focus", EXPECTED_AT_LEAST, 1))) { + return error; + } + + char *err_str = NULL; + struct criteria *criteria = criteria_parse(argv[0], &err_str); + if (!criteria) { + error = cmd_results_new(CMD_INVALID, "no_focus", err_str); + free(err_str); + return error; + } + + criteria->type = CT_NO_FOCUS; + list_add(config->criteria, criteria); + + return cmd_results_new(CMD_SUCCESS, NULL, NULL); +} |