summaryrefslogtreecommitdiffstats
path: root/sway/commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/commands.c')
-rw-r--r--sway/commands.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/sway/commands.c b/sway/commands.c
index ebb63691..38bfd68a 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -75,6 +75,7 @@ static sway_cmd cmd_splitv;
75static sway_cmd cmd_sticky; 75static sway_cmd cmd_sticky;
76static sway_cmd cmd_workspace; 76static sway_cmd cmd_workspace;
77static sway_cmd cmd_ws_auto_back_and_forth; 77static sway_cmd cmd_ws_auto_back_and_forth;
78static sway_cmd cmd_workspace_layout;
78 79
79static sway_cmd bar_cmd_binding_mode_indicator; 80static sway_cmd bar_cmd_binding_mode_indicator;
80static sway_cmd bar_cmd_bindsym; 81static sway_cmd bar_cmd_bindsym;
@@ -1982,6 +1983,24 @@ static struct cmd_results *cmd_workspace(int argc, char **argv) {
1982 return cmd_results_new(CMD_SUCCESS, NULL, NULL); 1983 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
1983} 1984}
1984 1985
1986static struct cmd_results *cmd_workspace_layout(int argc, char **argv) {
1987 struct cmd_results *error = NULL;
1988 if ((error = checkarg(argc, "workspace_layout", EXPECTED_EQUAL_TO, 1))) {
1989 return error;
1990 }
1991
1992 if (strcasecmp(argv[0], "default") == 0) {
1993 config->default_layout = L_NONE;
1994 } else if (strcasecmp(argv[0], "stacking") == 0) {
1995 config->default_layout = L_STACKED;
1996 } else if (strcasecmp(argv[0], "tabbed") == 0) {
1997 config->default_layout = L_TABBED;
1998 } else {
1999 return cmd_results_new(CMD_INVALID, "workspace_layout", "Expected 'workspace_layout <default|stacking|tabbed>'");
2000 }
2001 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
2002}
2003
1985static struct cmd_results *cmd_ws_auto_back_and_forth(int argc, char **argv) { 2004static struct cmd_results *cmd_ws_auto_back_and_forth(int argc, char **argv) {
1986 struct cmd_results *error = NULL; 2005 struct cmd_results *error = NULL;
1987 if ((error = checkarg(argc, "workspace_auto_back_and_forth", EXPECTED_EQUAL_TO, 1))) { 2006 if ((error = checkarg(argc, "workspace_auto_back_and_forth", EXPECTED_EQUAL_TO, 1))) {
@@ -2036,6 +2055,7 @@ static struct cmd_handler handlers[] = {
2036 { "sticky", cmd_sticky }, 2055 { "sticky", cmd_sticky },
2037 { "workspace", cmd_workspace }, 2056 { "workspace", cmd_workspace },
2038 { "workspace_auto_back_and_forth", cmd_ws_auto_back_and_forth }, 2057 { "workspace_auto_back_and_forth", cmd_ws_auto_back_and_forth },
2058 { "workspace_layout", cmd_workspace_layout },
2039}; 2059};
2040 2060
2041static struct cmd_results *bar_cmd_binding_mode_indicator(int argc, char **argv) { 2061static struct cmd_results *bar_cmd_binding_mode_indicator(int argc, char **argv) {