diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-07-16 08:31:00 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-16 08:31:00 -0700 |
commit | 6a9ca6efa057999df3ce047887bd009700c3dc1b (patch) | |
tree | c380b85e10b4008218c43238e06abce8a296b8df /sway/commands | |
parent | a588b326c24c65a691596bc9eb72ce9080d9de91 (diff) | |
parent | e2f28c023c8c5e9e847e2e9495a009b645bc60fc (diff) | |
download | sway-6a9ca6efa057999df3ce047887bd009700c3dc1b.tar.xz |
Merge pull request #2283 from RyanDwyer/no-focus
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); +} |