diff options
Diffstat (limited to 'sway/commands')
-rw-r--r-- | sway/commands/output.c | 1 | ||||
-rw-r--r-- | sway/commands/output/adaptive_sync.c | 22 |
2 files changed, 23 insertions, 0 deletions
diff --git a/sway/commands/output.c b/sway/commands/output.c index 013f17b2..5186a2ba 100644 --- a/sway/commands/output.c +++ b/sway/commands/output.c @@ -7,6 +7,7 @@ // must be in order for the bsearch static struct cmd_handler output_handlers[] = { + { "adaptive_sync", output_cmd_adaptive_sync }, { "background", output_cmd_background }, { "bg", output_cmd_background }, { "disable", output_cmd_disable }, diff --git a/sway/commands/output/adaptive_sync.c b/sway/commands/output/adaptive_sync.c new file mode 100644 index 00000000..7382e2ee --- /dev/null +++ b/sway/commands/output/adaptive_sync.c @@ -0,0 +1,22 @@ +#include "sway/commands.h" +#include "sway/config.h" +#include "util.h" + +struct cmd_results *output_cmd_adaptive_sync(int argc, char **argv) { + if (!config->handler_context.output_config) { + return cmd_results_new(CMD_FAILURE, "Missing output config"); + } + if (argc == 0) { + return cmd_results_new(CMD_INVALID, "Missing adaptive_sync argument"); + } + + if (parse_boolean(argv[0], true)) { + config->handler_context.output_config->adaptive_sync = 1; + } else { + config->handler_context.output_config->adaptive_sync = 0; + } + + config->handler_context.leftovers.argc = argc - 1; + config->handler_context.leftovers.argv = argv + 1; + return NULL; +} |