From bd9a53f1a3e7dba247aab0a4e4268724acc12c38 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 25 Sep 2019 17:35:41 +0300 Subject: view: add max_render_time --- sway/commands/max_render_time.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 sway/commands/max_render_time.c (limited to 'sway/commands') diff --git a/sway/commands/max_render_time.c b/sway/commands/max_render_time.c new file mode 100644 index 00000000..ec3282f1 --- /dev/null +++ b/sway/commands/max_render_time.c @@ -0,0 +1,32 @@ +#include +#include "sway/commands.h" +#include "sway/config.h" +#include "sway/tree/view.h" + +struct cmd_results *cmd_max_render_time(int argc, char **argv) { + 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."); + } + } + + struct sway_container *container = config->handler_context.container; + if (!container || !container->view) { + return cmd_results_new(CMD_INVALID, + "Only views can have a max_render_time"); + } + + struct sway_view *view = container->view; + view->max_render_time = max_render_time; + + return cmd_results_new(CMD_SUCCESS, NULL); +} -- cgit v1.2.3-54-g00ecf