diff options
author | Ivan Molodetskikh <yalterz@gmail.com> | 2019-09-25 17:35:41 +0300 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2019-11-17 20:18:42 +0100 |
commit | bd9a53f1a3e7dba247aab0a4e4268724acc12c38 (patch) | |
tree | 1547b79a82b1c4e22512d0262cbb133a14ef10a3 /sway/commands/max_render_time.c | |
parent | 5421198489675d4700e68eb143c94cda914c8586 (diff) |
view: add max_render_time
Diffstat (limited to 'sway/commands/max_render_time.c')
-rw-r--r-- | sway/commands/max_render_time.c | 32 |
1 files changed, 32 insertions, 0 deletions
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 <strings.h> +#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); +} |