From 022df2542baa057b1965a7c7ee9c32e738f637d2 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 25 Sep 2019 13:58:27 +0300 Subject: output: add max_render_time --- sway/commands/output.c | 1 + sway/commands/output/max_render_time.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 sway/commands/output/max_render_time.c (limited to 'sway/commands') diff --git a/sway/commands/output.c b/sway/commands/output.c index 59bc598c..db2acb50 100644 --- a/sway/commands/output.c +++ b/sway/commands/output.c @@ -12,6 +12,7 @@ static struct cmd_handler output_handlers[] = { { "disable", output_cmd_disable }, { "dpms", output_cmd_dpms }, { "enable", output_cmd_enable }, + { "max_render_time", output_cmd_max_render_time }, { "mode", output_cmd_mode }, { "pos", output_cmd_position }, { "position", output_cmd_position }, diff --git a/sway/commands/output/max_render_time.c b/sway/commands/output/max_render_time.c new file mode 100644 index 00000000..2d3cebe3 --- /dev/null +++ b/sway/commands/output/max_render_time.c @@ -0,0 +1,28 @@ +#include +#include "sway/commands.h" +#include "sway/config.h" + +struct cmd_results *output_cmd_max_render_time(int argc, char **argv) { + if (!config->handler_context.output_config) { + return cmd_results_new(CMD_FAILURE, "Missing output config"); + } + if (!argc) { + return cmd_results_new(CMD_INVALID, "Missing max render time argument."); + } + + int max_render_time; + if (!strcmp(*argv, "off")) { + max_render_time = 0; + } else { + char *end; + max_render_time = strtol(*argv, &end, 10); + if (*end || max_render_time <= 0) { + return cmd_results_new(CMD_INVALID, "Invalid max render time."); + } + } + config->handler_context.output_config->max_render_time = max_render_time; + + config->handler_context.leftovers.argc = argc - 1; + config->handler_context.leftovers.argv = argv + 1; + return NULL; +} -- cgit v1.2.3