aboutsummaryrefslogtreecommitdiffstats
path: root/sway/commands/no_focus.c
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-07-16 22:18:12 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-07-16 22:18:12 +1000
commitfc2484095a71206fe82f5042c0d127458a8da3bc (patch)
treec1d10d53e34eac84a7083db3591de17c5fdcf16e /sway/commands/no_focus.c
parentMerge pull request #2282 from RyanDwyer/fix-tab-split-focus (diff)
downloadsway-fc2484095a71206fe82f5042c0d127458a8da3bc.tar.gz
sway-fc2484095a71206fe82f5042c0d127458a8da3bc.tar.zst
sway-fc2484095a71206fe82f5042c0d127458a8da3bc.zip
Implement no_focus command
Diffstat (limited to 'sway/commands/no_focus.c')
-rw-r--r--sway/commands/no_focus.c26
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 @@
1#define _XOPEN_SOURCE 500
2#include <string.h>
3#include "sway/commands.h"
4#include "sway/criteria.h"
5#include "list.h"
6#include "log.h"
7
8struct cmd_results *cmd_no_focus(int argc, char **argv) {
9 struct cmd_results *error = NULL;
10 if ((error = checkarg(argc, "no_focus", EXPECTED_AT_LEAST, 1))) {
11 return error;
12 }
13
14 char *err_str = NULL;
15 struct criteria *criteria = criteria_parse(argv[0], &err_str);
16 if (!criteria) {
17 error = cmd_results_new(CMD_INVALID, "no_focus", err_str);
18 free(err_str);
19 return error;
20 }
21
22 criteria->type = CT_NO_FOCUS;
23 list_add(config->criteria, criteria);
24
25 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
26}