summaryrefslogtreecommitdiffstats
path: root/include/sway
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2019-01-01 08:45:21 -0500
committerLibravatar emersion <contact@emersion.fr>2019-01-02 23:33:33 +0100
commit5bf4daf2634929e7c94a6c7e56eda66d4667ca2f (patch)
tree1a5b0c1300c056cdd48f9d819e960e1336c46602 /include/sway
parentFix fullscreen view rendering crash (diff)
downloadsway-5bf4daf2634929e7c94a6c7e56eda66d4667ca2f.tar.gz
sway-5bf4daf2634929e7c94a6c7e56eda66d4667ca2f.tar.zst
sway-5bf4daf2634929e7c94a6c7e56eda66d4667ca2f.zip
Implement tiling_drag_threshold
Implements `tiling_drag_threshold <threshold>` to prevent accidental dragging of tiling containers. If a container (and all of its descendants) are unfocused and the tile bar is pressed, a threshold will be used before actually starting the drag. Once the threshold has been exceeded, the cursor will change to the grab icon and the operation will switch from `OP_MOVE_TILING_THRESHOLD` to `OP_MOVE_TILING`.
Diffstat (limited to 'include/sway')
-rw-r--r--include/sway/commands.h1
-rw-r--r--include/sway/config.h2
-rw-r--r--include/sway/input/seat.h4
3 files changed, 7 insertions, 0 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h
index 0e2d7931..7d0ff838 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -172,6 +172,7 @@ sway_cmd cmd_swaybg_command;
172sway_cmd cmd_swaynag_command; 172sway_cmd cmd_swaynag_command;
173sway_cmd cmd_swap; 173sway_cmd cmd_swap;
174sway_cmd cmd_tiling_drag; 174sway_cmd cmd_tiling_drag;
175sway_cmd cmd_tiling_drag_threshold;
175sway_cmd cmd_title_align; 176sway_cmd cmd_title_align;
176sway_cmd cmd_title_format; 177sway_cmd cmd_title_format;
177sway_cmd cmd_titlebar_border_thickness; 178sway_cmd cmd_titlebar_border_thickness;
diff --git a/include/sway/config.h b/include/sway/config.h
index f604b054..ebf16e6a 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -426,7 +426,9 @@ struct sway_config {
426 bool auto_back_and_forth; 426 bool auto_back_and_forth;
427 bool show_marks; 427 bool show_marks;
428 enum alignment title_align; 428 enum alignment title_align;
429
429 bool tiling_drag; 430 bool tiling_drag;
431 int tiling_drag_threshold;
430 432
431 bool smart_gaps; 433 bool smart_gaps;
432 int gaps_inner; 434 int gaps_inner;
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h
index d665c86e..a3c20346 100644
--- a/include/sway/input/seat.h
+++ b/include/sway/input/seat.h
@@ -39,6 +39,7 @@ enum sway_seat_operation {
39 OP_NONE, 39 OP_NONE,
40 OP_DOWN, 40 OP_DOWN,
41 OP_MOVE_FLOATING, 41 OP_MOVE_FLOATING,
42 OP_MOVE_TILING_THRESHOLD,
42 OP_MOVE_TILING, 43 OP_MOVE_TILING,
43 OP_RESIZE_FLOATING, 44 OP_RESIZE_FLOATING,
44 OP_RESIZE_TILING, 45 OP_RESIZE_TILING,
@@ -186,6 +187,9 @@ void seat_begin_down(struct sway_seat *seat, struct sway_container *con,
186void seat_begin_move_floating(struct sway_seat *seat, 187void seat_begin_move_floating(struct sway_seat *seat,
187 struct sway_container *con, uint32_t button); 188 struct sway_container *con, uint32_t button);
188 189
190void seat_begin_move_tiling_threshold(struct sway_seat *seat,
191 struct sway_container *con, uint32_t button);
192
189void seat_begin_move_tiling(struct sway_seat *seat, 193void seat_begin_move_tiling(struct sway_seat *seat,
190 struct sway_container *con, uint32_t button); 194 struct sway_container *con, uint32_t button);
191 195