aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-08-14 09:07:59 -0400
committerGitHub <noreply@github.com>2018-08-14 09:07:59 -0400
commitb4887ba154ab0d659c560a21194c8ca43b953632 (patch)
treed1d693231ab91f1ef2fe98a437cc260daf755142 /include
parentd0fb2d9a53662c8629f1a0f0a57e83e6f36285c4 (diff)
parent4b8e3a885be74c588291c51f798de80bd81a92db (diff)
downloadsway-b4887ba154ab0d659c560a21194c8ca43b953632.tar.xz
Merge pull request #2445 from RyanDwyer/resize-tiling-via-cursor
Implement resizing tiled containers via cursor
Diffstat (limited to 'include')
-rw-r--r--include/list.h1
-rw-r--r--include/sway/commands.h7
-rw-r--r--include/sway/input/seat.h10
3 files changed, 15 insertions, 3 deletions
diff --git a/include/list.h b/include/list.h
index 5a0d7d80..7c0e4bd2 100644
--- a/include/list.h
+++ b/include/list.h
@@ -20,6 +20,7 @@ void list_qsort(list_t *list, int compare(const void *left, const void *right));
// Return index for first item in list that returns 0 for given compare
// function or -1 if none matches.
int list_seq_find(list_t *list, int compare(const void *item, const void *cmp_to), const void *cmp_to);
+int list_find(list_t *list, void *item);
// stable sort since qsort is not guaranteed to be stable
void list_stable_sort(list_t *list, int compare(const void *a, const void *b));
// swap two elements in a list
diff --git a/include/sway/commands.h b/include/sway/commands.h
index f83907b2..545b21e6 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -1,6 +1,7 @@
#ifndef _SWAY_COMMANDS_H
#define _SWAY_COMMANDS_H
+#include <wlr/util/edges.h>
#include "config.h"
typedef struct cmd_results *sway_cmd(int argc, char **argv);
@@ -84,6 +85,12 @@ char *cmd_results_to_json(struct cmd_results *results);
struct cmd_results *add_color(const char *name,
char *buffer, const char *color);
+/**
+ * TODO: Move this function and its dependent functions to container.c.
+ */
+void container_resize_tiled(struct sway_container *parent, enum wlr_edges edge,
+ int amount);
+
sway_cmd cmd_assign;
sway_cmd cmd_bar;
sway_cmd cmd_bindcode;
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h
index 92387601..eb4202f3 100644
--- a/include/sway/input/seat.h
+++ b/include/sway/input/seat.h
@@ -57,7 +57,8 @@ struct sway_seat {
enum {
OP_NONE,
OP_MOVE,
- OP_RESIZE,
+ OP_RESIZE_FLOATING,
+ OP_RESIZE_TILING,
} operation;
struct sway_container *op_container;
@@ -159,8 +160,11 @@ void drag_icon_update_position(struct sway_drag_icon *icon);
void seat_begin_move(struct sway_seat *seat, struct sway_container *con,
uint32_t button);
-void seat_begin_resize(struct sway_seat *seat, struct sway_container *con,
- uint32_t button, enum wlr_edges edge);
+void seat_begin_resize_floating(struct sway_seat *seat,
+ struct sway_container *con, uint32_t button, enum wlr_edges edge);
+
+void seat_begin_resize_tiling(struct sway_seat *seat,
+ struct sway_container *con, uint32_t button, enum wlr_edges edge);
void seat_end_mouse_operation(struct sway_seat *seat);