aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-09-11 17:17:19 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-09-11 17:17:19 +1000
commitec9c4de564286d3795dd204e2c0a69b10f7572be (patch)
tree16bec8855579b6f537eb6cadb2344125b414254a
parentRename OP_MOVE to OP_MOVE_FLOATING (diff)
downloadsway-ec9c4de564286d3795dd204e2c0a69b10f7572be.tar.gz
sway-ec9c4de564286d3795dd204e2c0a69b10f7572be.tar.zst
sway-ec9c4de564286d3795dd204e2c0a69b10f7572be.zip
Introduce tiling_drag directive
-rw-r--r--include/sway/commands.h1
-rw-r--r--include/sway/config.h1
-rw-r--r--sway/commands.c1
-rw-r--r--sway/commands/tiling_drag.c13
-rw-r--r--sway/config.c1
-rw-r--r--sway/meson.build1
6 files changed, 18 insertions, 0 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h
index b0b5ed0f..e51b12fd 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -161,6 +161,7 @@ sway_cmd cmd_sticky;
161sway_cmd cmd_swaybg_command; 161sway_cmd cmd_swaybg_command;
162sway_cmd cmd_swaynag_command; 162sway_cmd cmd_swaynag_command;
163sway_cmd cmd_swap; 163sway_cmd cmd_swap;
164sway_cmd cmd_tiling_drag;
164sway_cmd cmd_title_format; 165sway_cmd cmd_title_format;
165sway_cmd cmd_unmark; 166sway_cmd cmd_unmark;
166sway_cmd cmd_urgent; 167sway_cmd cmd_urgent;
diff --git a/include/sway/config.h b/include/sway/config.h
index b52bb681..b53c1f1f 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -365,6 +365,7 @@ struct sway_config {
365 bool validating; 365 bool validating;
366 bool auto_back_and_forth; 366 bool auto_back_and_forth;
367 bool show_marks; 367 bool show_marks;
368 bool tiling_drag;
368 369
369 bool edge_gaps; 370 bool edge_gaps;
370 bool smart_gaps; 371 bool smart_gaps;
diff --git a/sway/commands.c b/sway/commands.c
index b32628cd..41e1c653 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -127,6 +127,7 @@ static struct cmd_handler handlers[] = {
127 { "set", cmd_set }, 127 { "set", cmd_set },
128 { "show_marks", cmd_show_marks }, 128 { "show_marks", cmd_show_marks },
129 { "smart_gaps", cmd_smart_gaps }, 129 { "smart_gaps", cmd_smart_gaps },
130 { "tiling_drag", cmd_tiling_drag },
130 { "workspace", cmd_workspace }, 131 { "workspace", cmd_workspace },
131 { "workspace_auto_back_and_forth", cmd_ws_auto_back_and_forth }, 132 { "workspace_auto_back_and_forth", cmd_ws_auto_back_and_forth },
132}; 133};
diff --git a/sway/commands/tiling_drag.c b/sway/commands/tiling_drag.c
new file mode 100644
index 00000000..92fbde7c
--- /dev/null
+++ b/sway/commands/tiling_drag.c
@@ -0,0 +1,13 @@
1#include "sway/commands.h"
2#include "util.h"
3
4struct cmd_results *cmd_tiling_drag(int argc, char **argv) {
5 struct cmd_results *error = NULL;
6 if ((error = checkarg(argc, "tiling_drag", EXPECTED_EQUAL_TO, 1))) {
7 return error;
8 }
9
10 config->tiling_drag = parse_boolean(argv[0], config->tiling_drag);
11
12 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
13}
diff --git a/sway/config.c b/sway/config.c
index 6ff4da03..830fb65f 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -225,6 +225,7 @@ static void config_defaults(struct sway_config *config) {
225 config->auto_back_and_forth = false; 225 config->auto_back_and_forth = false;
226 config->reading = false; 226 config->reading = false;
227 config->show_marks = true; 227 config->show_marks = true;
228 config->tiling_drag = true;
228 229
229 config->edge_gaps = true; 230 config->edge_gaps = true;
230 config->smart_gaps = false; 231 config->smart_gaps = false;
diff --git a/sway/meson.build b/sway/meson.build
index 8891ebc0..01c83a33 100644
--- a/sway/meson.build
+++ b/sway/meson.build
@@ -83,6 +83,7 @@ sway_sources = files(
83 'commands/swaybg_command.c', 83 'commands/swaybg_command.c',
84 'commands/swaynag_command.c', 84 'commands/swaynag_command.c',
85 'commands/swap.c', 85 'commands/swap.c',
86 'commands/tiling_drag.c',
86 'commands/title_format.c', 87 'commands/title_format.c',
87 'commands/unmark.c', 88 'commands/unmark.c',
88 'commands/urgent.c', 89 'commands/urgent.c',