diff options
-rw-r--r-- | include/sway/commands.h | 2 | ||||
-rw-r--r-- | sway/commands.c | 1 | ||||
-rw-r--r-- | sway/commands/default_orientation.c | 21 | ||||
-rw-r--r-- | sway/meson.build | 1 | ||||
-rw-r--r-- | sway/tree/layout.c | 5 |
5 files changed, 26 insertions, 4 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h index 1291d5fb..66f097ea 100644 --- a/include/sway/commands.h +++ b/include/sway/commands.h | |||
@@ -95,6 +95,7 @@ sway_cmd cmd_commands; | |||
95 | sway_cmd cmd_debuglog; | 95 | sway_cmd cmd_debuglog; |
96 | sway_cmd cmd_default_border; | 96 | sway_cmd cmd_default_border; |
97 | sway_cmd cmd_default_floating_border; | 97 | sway_cmd cmd_default_floating_border; |
98 | sway_cmd cmd_default_orientation; | ||
98 | sway_cmd cmd_exec; | 99 | sway_cmd cmd_exec; |
99 | sway_cmd cmd_exec_always; | 100 | sway_cmd cmd_exec_always; |
100 | sway_cmd cmd_exit; | 101 | sway_cmd cmd_exit; |
@@ -125,7 +126,6 @@ sway_cmd cmd_move; | |||
125 | sway_cmd cmd_new_float; | 126 | sway_cmd cmd_new_float; |
126 | sway_cmd cmd_new_window; | 127 | sway_cmd cmd_new_window; |
127 | sway_cmd cmd_no_focus; | 128 | sway_cmd cmd_no_focus; |
128 | sway_cmd cmd_orientation; | ||
129 | sway_cmd cmd_output; | 129 | sway_cmd cmd_output; |
130 | sway_cmd cmd_permit; | 130 | sway_cmd cmd_permit; |
131 | sway_cmd cmd_reject; | 131 | sway_cmd cmd_reject; |
diff --git a/sway/commands.c b/sway/commands.c index bcc777ed..eee7f254 100644 --- a/sway/commands.c +++ b/sway/commands.c | |||
@@ -149,6 +149,7 @@ static struct cmd_handler bar_colors_handlers[] = { | |||
149 | 149 | ||
150 | /* Config-time only commands. Keep alphabetized */ | 150 | /* Config-time only commands. Keep alphabetized */ |
151 | static struct cmd_handler config_handlers[] = { | 151 | static struct cmd_handler config_handlers[] = { |
152 | { "default_orientation", cmd_default_orientation }, | ||
152 | { "set", cmd_set }, | 153 | { "set", cmd_set }, |
153 | { "swaybg_command", cmd_swaybg_command }, | 154 | { "swaybg_command", cmd_swaybg_command }, |
154 | }; | 155 | }; |
diff --git a/sway/commands/default_orientation.c b/sway/commands/default_orientation.c new file mode 100644 index 00000000..a5347ce2 --- /dev/null +++ b/sway/commands/default_orientation.c | |||
@@ -0,0 +1,21 @@ | |||
1 | #include <string.h> | ||
2 | #include <strings.h> | ||
3 | #include "sway/commands.h" | ||
4 | |||
5 | struct cmd_results *cmd_default_orientation(int argc, char **argv) { | ||
6 | struct cmd_results *error = NULL; | ||
7 | if ((error = checkarg(argc, "default_orientation", EXPECTED_EQUAL_TO, 1))) { | ||
8 | return error; | ||
9 | } | ||
10 | if (strcasecmp(argv[0], "horizontal") == 0) { | ||
11 | config->default_orientation = L_HORIZ; | ||
12 | } else if (strcasecmp(argv[0], "vertical") == 0) { | ||
13 | config->default_orientation = L_VERT; | ||
14 | } else if (strcasecmp(argv[0], "auto") == 0) { | ||
15 | // Do nothing | ||
16 | } else { | ||
17 | return cmd_results_new(CMD_INVALID, "default_orientation", | ||
18 | "Expected 'orientation <horizontal|vertical|auto>'"); | ||
19 | } | ||
20 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | ||
21 | } | ||
diff --git a/sway/meson.build b/sway/meson.build index 1e7ee7ae..9c5e4a00 100644 --- a/sway/meson.build +++ b/sway/meson.build | |||
@@ -8,6 +8,7 @@ sway_sources = files( | |||
8 | 'input/keyboard.c', | 8 | 'input/keyboard.c', |
9 | 'commands/bar.c', | 9 | 'commands/bar.c', |
10 | 'commands/bind.c', | 10 | 'commands/bind.c', |
11 | 'commands/default_orientation.c', | ||
11 | 'commands/exit.c', | 12 | 'commands/exit.c', |
12 | 'commands/exec.c', | 13 | 'commands/exec.c', |
13 | 'commands/exec_always.c', | 14 | 'commands/exec_always.c', |
diff --git a/sway/tree/layout.c b/sway/tree/layout.c index 97007888..73c4849b 100644 --- a/sway/tree/layout.c +++ b/sway/tree/layout.c | |||
@@ -160,12 +160,11 @@ void container_move_to(struct sway_container* container, | |||
160 | 160 | ||
161 | enum sway_container_layout container_get_default_layout( | 161 | enum sway_container_layout container_get_default_layout( |
162 | struct sway_container *output) { | 162 | struct sway_container *output) { |
163 | /* TODO WLR | ||
164 | if (config->default_layout != L_NONE) { | 163 | if (config->default_layout != L_NONE) { |
165 | //return config->default_layout; | 164 | return config->default_layout; |
166 | } else if (config->default_orientation != L_NONE) { | 165 | } else if (config->default_orientation != L_NONE) { |
167 | return config->default_orientation; | 166 | return config->default_orientation; |
168 | } else */if (output->width >= output->height) { | 167 | } else if (output->width >= output->height) { |
169 | return L_HORIZ; | 168 | return L_HORIZ; |
170 | } else { | 169 | } else { |
171 | return L_VERT; | 170 | return L_VERT; |