diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-01-01 08:45:21 -0500 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2019-01-02 23:33:33 +0100 |
commit | 5bf4daf2634929e7c94a6c7e56eda66d4667ca2f (patch) | |
tree | 1a5b0c1300c056cdd48f9d819e960e1336c46602 /include/sway | |
parent | Fix fullscreen view rendering crash (diff) | |
download | sway-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.h | 1 | ||||
-rw-r--r-- | include/sway/config.h | 2 | ||||
-rw-r--r-- | include/sway/input/seat.h | 4 |
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; | |||
172 | sway_cmd cmd_swaynag_command; | 172 | sway_cmd cmd_swaynag_command; |
173 | sway_cmd cmd_swap; | 173 | sway_cmd cmd_swap; |
174 | sway_cmd cmd_tiling_drag; | 174 | sway_cmd cmd_tiling_drag; |
175 | sway_cmd cmd_tiling_drag_threshold; | ||
175 | sway_cmd cmd_title_align; | 176 | sway_cmd cmd_title_align; |
176 | sway_cmd cmd_title_format; | 177 | sway_cmd cmd_title_format; |
177 | sway_cmd cmd_titlebar_border_thickness; | 178 | sway_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, | |||
186 | void seat_begin_move_floating(struct sway_seat *seat, | 187 | void 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 | ||
190 | void seat_begin_move_tiling_threshold(struct sway_seat *seat, | ||
191 | struct sway_container *con, uint32_t button); | ||
192 | |||
189 | void seat_begin_move_tiling(struct sway_seat *seat, | 193 | void 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 | ||