sway/sway/commands/tearing_allowed.c
Ricardo Steijn b9d479a7ed format
2024-08-04 19:16:37 +02:00

25 lines
734 B
C

#include <sway/commands.h>
#include "sway/config.h"
#include "sway/tree/view.h"
#include "util.h"
struct cmd_results *cmd_tearing_allowed(int argc, char **argv) {
struct cmd_results *error = NULL;
if ((error = checkarg(argc, "tearing_allowed", EXPECTED_AT_LEAST, 1))) {
return error;
}
struct sway_container *container = config->handler_context.container;
if (!container || !container->view) {
return cmd_results_new(CMD_INVALID,
"Tearing can only be allowed on views");
}
bool wants_tearing = parse_boolean(argv[0], true);
struct sway_view *view = container->view;
view->tearing_mode = wants_tearing ? TEARING_OVERRIDE_TRUE :
TEARING_OVERRIDE_FALSE;
return cmd_results_new(CMD_SUCCESS, NULL);
}