#include #include "log.h" #include "sway/commands.h" #include "sway/config.h" #include "sway/tree/container.h" #include "sway/tree/view.h" #include "sway/tree/layout.h" // fullscreen toggle|enable|disable struct cmd_results *cmd_fullscreen(int argc, char **argv) { struct sway_container *container = config->handler_context.current_container; if (container->type != C_VIEW) { return cmd_results_new(CMD_INVALID, "fullscreen", "Only views can fullscreen"); } struct sway_view *view = container->sway_view; bool wants_fullscreen; if (argc == 0 || strcmp(argv[0], "toggle") == 0) { wants_fullscreen = !view->is_fullscreen; } else if (strcmp(argv[0], "enable") == 0) { wants_fullscreen = true; } else if (strcmp(argv[0], "disable") == 0) { wants_fullscreen = false; } else { return cmd_results_new(CMD_INVALID, "fullscreen", "Expected 'fullscreen' or fullscreen '"); } view_set_fullscreen(view, wants_fullscreen); return cmd_results_new(CMD_SUCCESS, NULL, NULL); }