diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-03-30 10:43:55 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-03-30 10:43:55 -0400 |
commit | 69eb021767d8cf57b08699c7e330fe8c52ca2764 (patch) | |
tree | c4160dfb51ece94ea4858fd86a097b881405f4b9 | |
parent | Fix crash when override redirect views close (diff) | |
download | sway-69eb021767d8cf57b08699c7e330fe8c52ca2764.tar.gz sway-69eb021767d8cf57b08699c7e330fe8c52ca2764.tar.zst sway-69eb021767d8cf57b08699c7e330fe8c52ca2764.zip |
Add default_orientation command
-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 dc0ee5b4..c7cf16e6 100644 --- a/sway/tree/layout.c +++ b/sway/tree/layout.c | |||
@@ -123,12 +123,11 @@ struct sway_container *container_remove_child(struct sway_container *child) { | |||
123 | 123 | ||
124 | enum sway_container_layout container_get_default_layout( | 124 | enum sway_container_layout container_get_default_layout( |
125 | struct sway_container *output) { | 125 | struct sway_container *output) { |
126 | /* TODO WLR | ||
127 | if (config->default_layout != L_NONE) { | 126 | if (config->default_layout != L_NONE) { |
128 | //return config->default_layout; | 127 | return config->default_layout; |
129 | } else if (config->default_orientation != L_NONE) { | 128 | } else if (config->default_orientation != L_NONE) { |
130 | return config->default_orientation; | 129 | return config->default_orientation; |
131 | } else */if (output->width >= output->height) { | 130 | } else if (output->width >= output->height) { |
132 | return L_HORIZ; | 131 | return L_HORIZ; |
133 | } else { | 132 | } else { |
134 | return L_VERT; | 133 | return L_VERT; |