From 874f009866abaf8ca43ed4cd88a69d22a3fbfc5a Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 29 Mar 2018 12:15:31 -0400 Subject: move tree includes to their own directory --- include/sway/tree/container.h | 136 ++++++++++++++++++++++++++++++++++++++++++ include/sway/tree/layout.h | 51 ++++++++++++++++ include/sway/tree/view.h | 116 +++++++++++++++++++++++++++++++++++ include/sway/tree/workspace.h | 26 ++++++++ 4 files changed, 329 insertions(+) create mode 100644 include/sway/tree/container.h create mode 100644 include/sway/tree/layout.h create mode 100644 include/sway/tree/view.h create mode 100644 include/sway/tree/workspace.h (limited to 'include/sway/tree') diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h new file mode 100644 index 00000000..5a2ae349 --- /dev/null +++ b/include/sway/tree/container.h @@ -0,0 +1,136 @@ +#ifndef _SWAY_CONTAINER_H +#define _SWAY_CONTAINER_H +#include +#include +#include +#include +#include "list.h" + +typedef struct sway_container swayc_t; + +extern swayc_t root_container; + +struct sway_view; +struct sway_seat; + +/** + * Different kinds of containers. + * + * This enum is in order. A container will never be inside of a container below + * it on this list. + */ +enum swayc_types { + C_ROOT, + C_OUTPUT, + C_WORKSPACE, + C_CONTAINER, + C_VIEW, + + C_TYPES, +}; + +enum swayc_layouts { + L_NONE, + L_HORIZ, + L_VERT, + L_STACKED, + L_TABBED, + L_FLOATING, + + // Keep last + L_LAYOUTS, +}; + +enum swayc_border_types { + B_NONE, + B_PIXEL, + B_NORMAL, +}; + +struct sway_root; +struct sway_output; +struct sway_view; + +struct sway_container { + union { + // TODO: Encapsulate state for other node types as well like C_CONTAINER + struct sway_root *sway_root; + struct sway_output *sway_output; + struct sway_view *sway_view; + }; + + /** + * A unique ID to identify this container. Primarily used in the + * get_tree JSON output. + */ + size_t id; + + char *name; + + enum swayc_types type; + enum swayc_layouts layout; + enum swayc_layouts prev_layout; + enum swayc_layouts workspace_layout; + + // TODO convert to layout coordinates + double x, y; + + // does not include borders or gaps. + double width, height; + + list_t *children; + + struct sway_container *parent; + + list_t *marks; // list of char* + + struct { + struct wl_signal destroy; + } events; +}; + +void swayc_descendants_of_type(swayc_t *root, enum swayc_types type, + void (*func)(swayc_t *item, void *data), void *data); + +// TODO only one container create function and pass the type? +swayc_t *new_output(struct sway_output *sway_output); + +swayc_t *new_workspace(swayc_t *output, const char *name); + +swayc_t *new_view(swayc_t *sibling, struct sway_view *sway_view); + +swayc_t *destroy_output(swayc_t *output); +swayc_t *destroy_view(swayc_t *view); + +swayc_t *next_view_sibling(struct sway_seat *seat); + +/** + * Finds a container based on test criteria. Returns the first container that + * passes the test. + */ +swayc_t *swayc_by_test(swayc_t *container, + bool (*test)(swayc_t *view, void *data), void *data); + +/** + * Finds a parent container with the given swayc_type. + */ +swayc_t *swayc_parent_by_type(swayc_t *container, enum swayc_types type); + +/** + * Maps a container's children over a function. + */ +void container_map(swayc_t *container, + void (*f)(swayc_t *view, void *data), void *data); + +swayc_t *swayc_at(swayc_t *parent, double lx, double ly, + struct wlr_surface **surface, double *sx, double *sy); + +/** + * Apply the function for each child of the container breadth first. + */ +void container_for_each_bfs(swayc_t *con, void (*f)(swayc_t *con, void *data), + void *data); + +swayc_t *swayc_change_layout(swayc_t *container, enum swayc_layouts layout); + +#endif diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h new file mode 100644 index 00000000..39b7fb24 --- /dev/null +++ b/include/sway/tree/layout.h @@ -0,0 +1,51 @@ +#ifndef _SWAY_LAYOUT_H +#define _SWAY_LAYOUT_H + +#include +#include "sway/tree/container.h" + +enum movement_direction { + MOVE_LEFT, + MOVE_RIGHT, + MOVE_UP, + MOVE_DOWN, + MOVE_PARENT, + MOVE_CHILD, + MOVE_NEXT, + MOVE_PREV, + MOVE_FIRST +}; + +struct sway_container; + +struct sway_root { + struct wlr_output_layout *output_layout; + + struct wl_listener output_layout_change; + + struct wl_list unmanaged_views; // sway_view::unmanaged_view_link + + struct { + struct wl_signal new_container; + } events; +}; + +void init_layout(void); + +void add_child(struct sway_container *parent, struct sway_container *child); + +swayc_t *add_sibling(swayc_t *parent, swayc_t *child); + +struct sway_container *remove_child(struct sway_container *child); + +enum swayc_layouts default_layout(struct sway_container *output); + +void sort_workspaces(struct sway_container *output); + +void arrange_windows(struct sway_container *container, + double width, double height); + +swayc_t *get_swayc_in_direction(swayc_t *container, + struct sway_seat *seat, enum movement_direction dir); + +#endif diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h new file mode 100644 index 00000000..e5f53f4e --- /dev/null +++ b/include/sway/tree/view.h @@ -0,0 +1,116 @@ +#ifndef _SWAY_VIEW_H +#define _SWAY_VIEW_H +#include +#include +#include +#include + +struct sway_container; +struct sway_view; + +struct sway_xdg_surface_v6 { + struct sway_view *view; + + struct wl_listener commit; + struct wl_listener request_move; + struct wl_listener request_resize; + struct wl_listener request_maximize; + struct wl_listener destroy; + + int pending_width, pending_height; +}; + +struct sway_xwayland_surface { + struct sway_view *view; + + struct wl_listener commit; + struct wl_listener request_move; + struct wl_listener request_resize; + struct wl_listener request_maximize; + struct wl_listener request_configure; + struct wl_listener unmap_notify; + struct wl_listener map_notify; + struct wl_listener destroy; + + int pending_width, pending_height; +}; + +struct sway_wl_shell_surface { + struct sway_view *view; + + struct wl_listener commit; + struct wl_listener request_move; + struct wl_listener request_resize; + struct wl_listener request_maximize; + struct wl_listener destroy; + + int pending_width, pending_height; +}; + +enum sway_view_type { + SWAY_WL_SHELL_VIEW, + SWAY_XDG_SHELL_V6_VIEW, + SWAY_XWAYLAND_VIEW, + // Keep last + SWAY_VIEW_TYPES, +}; + +enum sway_view_prop { + VIEW_PROP_TITLE, + VIEW_PROP_APP_ID, + VIEW_PROP_CLASS, + VIEW_PROP_INSTANCE, +}; + +struct sway_view { + enum sway_view_type type; + struct sway_container *swayc; + struct wlr_surface *surface; + int width, height; + + union { + struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6; + struct wlr_xwayland_surface *wlr_xwayland_surface; + struct wlr_wl_shell_surface *wlr_wl_shell_surface; + }; + + union { + struct sway_xdg_surface_v6 *sway_xdg_surface_v6; + struct sway_xwayland_surface *sway_xwayland_surface; + struct sway_wl_shell_surface *sway_wl_shell_surface; + }; + + struct { + const char *(*get_prop)(struct sway_view *view, + enum sway_view_prop prop); + void (*set_size)(struct sway_view *view, + int width, int height); + void (*set_position)(struct sway_view *view, + double ox, double oy); + void (*set_activated)(struct sway_view *view, bool activated); + void (*close)(struct sway_view *view); + } iface; + + // only used for unmanaged views (shell specific) + struct wl_list unmanaged_view_link; // sway_root::unmanaged views +}; + +const char *view_get_title(struct sway_view *view); + +const char *view_get_app_id(struct sway_view *view); + +const char *view_get_class(struct sway_view *view); + +const char *view_get_instance(struct sway_view *view); + +void view_set_size(struct sway_view *view, int width, int height); + +void view_set_position(struct sway_view *view, double ox, double oy); + +void view_set_activated(struct sway_view *view, bool activated); + +void view_close(struct sway_view *view); + +void view_update_outputs(struct sway_view *view, const struct wlr_box *before); + +#endif diff --git a/include/sway/tree/workspace.h b/include/sway/tree/workspace.h new file mode 100644 index 00000000..c8ce40d1 --- /dev/null +++ b/include/sway/tree/workspace.h @@ -0,0 +1,26 @@ +#ifndef _SWAY_WORKSPACE_H +#define _SWAY_WORKSPACE_H + +#include "sway/tree/container.h" + +extern char *prev_workspace_name; + +char *workspace_next_name(const char *output_name); + +swayc_t *workspace_create(const char *name); + +bool workspace_switch(swayc_t *workspace); + +struct sway_container *workspace_by_number(const char* name); + +swayc_t *workspace_by_name(const char*); + +struct sway_container *workspace_output_next(swayc_t *current); + +struct sway_container *workspace_next(swayc_t *current); + +struct sway_container *workspace_output_prev(swayc_t *current); + +struct sway_container *workspace_prev(swayc_t *current); + +#endif -- cgit v1.2.3 From 83d09cf5945ba10a703dc5cc977a6d2814f0fd64 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 29 Mar 2018 14:31:10 -0400 Subject: remove swayc_t typedef --- include/sway/tree/container.h | 45 +++++++++++++++++++++++-------------------- include/sway/tree/layout.h | 7 ++++--- include/sway/tree/workspace.h | 14 +++++++------- 3 files changed, 35 insertions(+), 31 deletions(-) (limited to 'include/sway/tree') diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 5a2ae349..5def5e71 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -6,9 +6,7 @@ #include #include "list.h" -typedef struct sway_container swayc_t; - -extern swayc_t root_container; +extern struct sway_container root_container; struct sway_view; struct sway_seat; @@ -89,48 +87,53 @@ struct sway_container { } events; }; -void swayc_descendants_of_type(swayc_t *root, enum swayc_types type, - void (*func)(swayc_t *item, void *data), void *data); +void swayc_descendants_of_type(struct sway_container *root, + enum swayc_types type, + void (*func)(struct sway_container *item, void *data), void *data); // TODO only one container create function and pass the type? -swayc_t *new_output(struct sway_output *sway_output); +struct sway_container *new_output(struct sway_output *sway_output); -swayc_t *new_workspace(swayc_t *output, const char *name); +struct sway_container *new_workspace(struct sway_container *output, + const char *name); -swayc_t *new_view(swayc_t *sibling, struct sway_view *sway_view); +struct sway_container *new_view(struct sway_container *sibling, + struct sway_view *sway_view); -swayc_t *destroy_output(swayc_t *output); -swayc_t *destroy_view(swayc_t *view); +struct sway_container *destroy_output(struct sway_container *output); +struct sway_container *destroy_view(struct sway_container *view); -swayc_t *next_view_sibling(struct sway_seat *seat); +struct sway_container *next_view_sibling(struct sway_seat *seat); /** * Finds a container based on test criteria. Returns the first container that * passes the test. */ -swayc_t *swayc_by_test(swayc_t *container, - bool (*test)(swayc_t *view, void *data), void *data); +struct sway_container *swayc_by_test(struct sway_container *container, + bool (*test)(struct sway_container *view, void *data), void *data); /** * Finds a parent container with the given swayc_type. */ -swayc_t *swayc_parent_by_type(swayc_t *container, enum swayc_types type); +struct sway_container *swayc_parent_by_type(struct sway_container *container, + enum swayc_types type); /** * Maps a container's children over a function. */ -void container_map(swayc_t *container, - void (*f)(swayc_t *view, void *data), void *data); +void container_map(struct sway_container *container, + void (*f)(struct sway_container *view, void *data), void *data); -swayc_t *swayc_at(swayc_t *parent, double lx, double ly, - struct wlr_surface **surface, double *sx, double *sy); +struct sway_container *swayc_at(struct sway_container *parent, double lx, + double ly, struct wlr_surface **surface, double *sx, double *sy); /** * Apply the function for each child of the container breadth first. */ -void container_for_each_bfs(swayc_t *con, void (*f)(swayc_t *con, void *data), - void *data); +void container_for_each_bfs(struct sway_container *con, void (*f)(struct + sway_container *con, void *data), void *data); -swayc_t *swayc_change_layout(swayc_t *container, enum swayc_layouts layout); +struct sway_container *swayc_change_layout(struct sway_container *container, + enum swayc_layouts layout); #endif diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h index 39b7fb24..8bb9e075 100644 --- a/include/sway/tree/layout.h +++ b/include/sway/tree/layout.h @@ -34,7 +34,8 @@ void init_layout(void); void add_child(struct sway_container *parent, struct sway_container *child); -swayc_t *add_sibling(swayc_t *parent, swayc_t *child); +struct sway_container *add_sibling(struct sway_container *parent, + struct sway_container *child); struct sway_container *remove_child(struct sway_container *child); @@ -45,7 +46,7 @@ void sort_workspaces(struct sway_container *output); void arrange_windows(struct sway_container *container, double width, double height); -swayc_t *get_swayc_in_direction(swayc_t *container, - struct sway_seat *seat, enum movement_direction dir); +struct sway_container *get_swayc_in_direction(struct sway_container + *container, struct sway_seat *seat, enum movement_direction dir); #endif diff --git a/include/sway/tree/workspace.h b/include/sway/tree/workspace.h index c8ce40d1..d73b29c1 100644 --- a/include/sway/tree/workspace.h +++ b/include/sway/tree/workspace.h @@ -7,20 +7,20 @@ extern char *prev_workspace_name; char *workspace_next_name(const char *output_name); -swayc_t *workspace_create(const char *name); +struct sway_container *workspace_create(const char *name); -bool workspace_switch(swayc_t *workspace); +bool workspace_switch(struct sway_container *workspace); struct sway_container *workspace_by_number(const char* name); -swayc_t *workspace_by_name(const char*); +struct sway_container *workspace_by_name(const char*); -struct sway_container *workspace_output_next(swayc_t *current); +struct sway_container *workspace_output_next(struct sway_container *current); -struct sway_container *workspace_next(swayc_t *current); +struct sway_container *workspace_next(struct sway_container *current); -struct sway_container *workspace_output_prev(swayc_t *current); +struct sway_container *workspace_output_prev(struct sway_container *current); -struct sway_container *workspace_prev(swayc_t *current); +struct sway_container *workspace_prev(struct sway_container *current); #endif -- cgit v1.2.3 From b90099b4b7df8068446c658ab99b58ff83648954 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 29 Mar 2018 16:17:55 -0400 Subject: rename container functions --- include/sway/tree/container.h | 70 ++++++++++++++++++++++++------------------- include/sway/tree/layout.h | 2 +- 2 files changed, 40 insertions(+), 32 deletions(-) (limited to 'include/sway/tree') diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 5def5e71..0dfed455 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -17,7 +17,7 @@ struct sway_seat; * This enum is in order. A container will never be inside of a container below * it on this list. */ -enum swayc_types { +enum sway_container_type { C_ROOT, C_OUTPUT, C_WORKSPACE, @@ -27,7 +27,7 @@ enum swayc_types { C_TYPES, }; -enum swayc_layouts { +enum sway_container_layout { L_NONE, L_HORIZ, L_VERT, @@ -39,7 +39,7 @@ enum swayc_layouts { L_LAYOUTS, }; -enum swayc_border_types { +enum sway_container_border { B_NONE, B_PIXEL, B_NORMAL, @@ -65,10 +65,10 @@ struct sway_container { char *name; - enum swayc_types type; - enum swayc_layouts layout; - enum swayc_layouts prev_layout; - enum swayc_layouts workspace_layout; + enum sway_container_type type; + enum sway_container_layout layout; + enum sway_container_layout prev_layout; + enum sway_container_layout workspace_layout; // TODO convert to layout coordinates double x, y; @@ -87,53 +87,61 @@ struct sway_container { } events; }; -void swayc_descendants_of_type(struct sway_container *root, - enum swayc_types type, - void (*func)(struct sway_container *item, void *data), void *data); - // TODO only one container create function and pass the type? -struct sway_container *new_output(struct sway_output *sway_output); +struct sway_container *sway_container_output_create( + struct sway_output *sway_output); + +struct sway_container *sway_container_workspace_create( + struct sway_container *output, const char *name); -struct sway_container *new_workspace(struct sway_container *output, - const char *name); +struct sway_container *sway_container_view_create( + struct sway_container *sibling, struct sway_view *sway_view); -struct sway_container *new_view(struct sway_container *sibling, - struct sway_view *sway_view); +struct sway_container *sway_container_output_destroy( + struct sway_container *output); -struct sway_container *destroy_output(struct sway_container *output); -struct sway_container *destroy_view(struct sway_container *view); +struct sway_container *sway_container_view_destroy(struct sway_container *view); +struct sway_container *sway_container_set_layout( + struct sway_container *container, enum sway_container_layout layout); + +void sway_container_descendents(struct sway_container *root, + enum sway_container_type type, + void (*func)(struct sway_container *item, void *data), void *data); + +// XXX: what is this? struct sway_container *next_view_sibling(struct sway_seat *seat); /** * Finds a container based on test criteria. Returns the first container that * passes the test. */ -struct sway_container *swayc_by_test(struct sway_container *container, +struct sway_container *sway_container_find(struct sway_container *container, bool (*test)(struct sway_container *view, void *data), void *data); /** - * Finds a parent container with the given swayc_type. + * Finds a parent container with the given struct sway_containerype. */ -struct sway_container *swayc_parent_by_type(struct sway_container *container, - enum swayc_types type); +struct sway_container *sway_container_parent(struct sway_container *container, + enum sway_container_type type); /** - * Maps a container's children over a function. + * Run a function for each child. */ -void container_map(struct sway_container *container, +void sway_container_for_each(struct sway_container *container, void (*f)(struct sway_container *view, void *data), void *data); -struct sway_container *swayc_at(struct sway_container *parent, double lx, - double ly, struct wlr_surface **surface, double *sx, double *sy); +/** + * Find a container at the given coordinates. + */ +struct sway_container *sway_container_at(struct sway_container *parent, + double lx, double ly, struct wlr_surface **surface, + double *sx, double *sy); /** * Apply the function for each child of the container breadth first. */ -void container_for_each_bfs(struct sway_container *con, void (*f)(struct - sway_container *con, void *data), void *data); - -struct sway_container *swayc_change_layout(struct sway_container *container, - enum swayc_layouts layout); +void sway_container_for_each_bfs(struct sway_container *container, + void (*f)(struct sway_container *container, void *data), void *data); #endif diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h index 8bb9e075..f73b3880 100644 --- a/include/sway/tree/layout.h +++ b/include/sway/tree/layout.h @@ -39,7 +39,7 @@ struct sway_container *add_sibling(struct sway_container *parent, struct sway_container *remove_child(struct sway_container *child); -enum swayc_layouts default_layout(struct sway_container *output); +enum sway_container_layout default_layout(struct sway_container *output); void sort_workspaces(struct sway_container *output); -- cgit v1.2.3 From eca029f218fbb54ddf7316845be5d296e834358e Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 29 Mar 2018 17:06:29 -0400 Subject: more renaming things --- include/sway/tree/container.h | 21 +++++++++------------ include/sway/tree/layout.h | 16 ++++++++-------- 2 files changed, 17 insertions(+), 20 deletions(-) (limited to 'include/sway/tree') diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 0dfed455..572dd8e3 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -88,41 +88,38 @@ struct sway_container { }; // TODO only one container create function and pass the type? -struct sway_container *sway_container_output_create( +struct sway_container *container_output_create( struct sway_output *sway_output); -struct sway_container *sway_container_workspace_create( +struct sway_container *container_workspace_create( struct sway_container *output, const char *name); -struct sway_container *sway_container_view_create( +struct sway_container *container_view_create( struct sway_container *sibling, struct sway_view *sway_view); -struct sway_container *sway_container_output_destroy( +struct sway_container *container_output_destroy( struct sway_container *output); -struct sway_container *sway_container_view_destroy(struct sway_container *view); +struct sway_container *container_view_destroy(struct sway_container *view); -struct sway_container *sway_container_set_layout( +struct sway_container *container_set_layout( struct sway_container *container, enum sway_container_layout layout); -void sway_container_descendents(struct sway_container *root, +void container_descendents(struct sway_container *root, enum sway_container_type type, void (*func)(struct sway_container *item, void *data), void *data); -// XXX: what is this? -struct sway_container *next_view_sibling(struct sway_seat *seat); - /** * Finds a container based on test criteria. Returns the first container that * passes the test. */ -struct sway_container *sway_container_find(struct sway_container *container, +struct sway_container *container_find(struct sway_container *container, bool (*test)(struct sway_container *view, void *data), void *data); /** * Finds a parent container with the given struct sway_containerype. */ -struct sway_container *sway_container_parent(struct sway_container *container, +struct sway_container *container_parent(struct sway_container *container, enum sway_container_type type); /** diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h index f73b3880..6980ec9e 100644 --- a/include/sway/tree/layout.h +++ b/include/sway/tree/layout.h @@ -30,23 +30,23 @@ struct sway_root { } events; }; -void init_layout(void); +void layout_init(void); -void add_child(struct sway_container *parent, struct sway_container *child); +void container_add_child(struct sway_container *parent, struct sway_container *child); -struct sway_container *add_sibling(struct sway_container *parent, +struct sway_container *container_add_sibling(struct sway_container *parent, struct sway_container *child); -struct sway_container *remove_child(struct sway_container *child); +struct sway_container *container_remove_child(struct sway_container *child); -enum sway_container_layout default_layout(struct sway_container *output); +enum sway_container_layout container_get_default_layout(struct sway_container *output); -void sort_workspaces(struct sway_container *output); +void container_sort_workspaces(struct sway_container *output); -void arrange_windows(struct sway_container *container, +void container_arrange_windows(struct sway_container *container, double width, double height); -struct sway_container *get_swayc_in_direction(struct sway_container +struct sway_container *container_get_in_direction(struct sway_container *container, struct sway_seat *seat, enum movement_direction dir); #endif -- cgit v1.2.3 From 62d1b4cb96f87274d695a9c11a041c42cf59ddc1 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 29 Mar 2018 18:17:31 -0400 Subject: fix container_get_in_direction name --- include/sway/tree/container.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'include/sway/tree') diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 572dd8e3..3548afc1 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -97,13 +97,12 @@ struct sway_container *container_workspace_create( struct sway_container *container_view_create( struct sway_container *sibling, struct sway_view *sway_view); -struct sway_container *container_output_destroy( - struct sway_container *output); +struct sway_container *container_output_destroy(struct sway_container *output); struct sway_container *container_view_destroy(struct sway_container *view); -struct sway_container *container_set_layout( - struct sway_container *container, enum sway_container_layout layout); +struct sway_container *container_set_layout(struct sway_container *container, + enum sway_container_layout layout); void container_descendents(struct sway_container *root, enum sway_container_type type, -- cgit v1.2.3 From 4c394a0e9ee04b46ed349f7b3ddf67c53719b3b6 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 29 Mar 2018 21:19:57 -0400 Subject: address feedback --- include/sway/tree/container.h | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'include/sway/tree') diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 3548afc1..92ff2b67 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -70,10 +70,10 @@ struct sway_container { enum sway_container_layout prev_layout; enum sway_container_layout workspace_layout; - // TODO convert to layout coordinates + // TODO convert to layout coordinates double x, y; - // does not include borders or gaps. + // does not include borders or gaps. double width, height; list_t *children; @@ -121,23 +121,17 @@ struct sway_container *container_find(struct sway_container *container, struct sway_container *container_parent(struct sway_container *container, enum sway_container_type type); -/** - * Run a function for each child. - */ -void sway_container_for_each(struct sway_container *container, - void (*f)(struct sway_container *view, void *data), void *data); - /** * Find a container at the given coordinates. */ -struct sway_container *sway_container_at(struct sway_container *parent, +struct sway_container *container_at(struct sway_container *parent, double lx, double ly, struct wlr_surface **surface, double *sx, double *sy); /** * Apply the function for each child of the container breadth first. */ -void sway_container_for_each_bfs(struct sway_container *container, +void container_for_each(struct sway_container *container, void (*f)(struct sway_container *container, void *data), void *data); #endif -- cgit v1.2.3 From 92c58b1e63d41d48cfb487b04a2cb105c990bc4c Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 29 Mar 2018 23:08:59 -0400 Subject: rename container_for_each_descendent --- include/sway/tree/container.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/sway/tree') diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 92ff2b67..16df3ee7 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -131,7 +131,7 @@ struct sway_container *container_at(struct sway_container *parent, /** * Apply the function for each child of the container breadth first. */ -void container_for_each(struct sway_container *container, +void container_for_each_descendent(struct sway_container *container, void (*f)(struct sway_container *container, void *data), void *data); #endif -- cgit v1.2.3 From 2778edef976a669dd0019ebb5327bcfeb4de13c5 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 29 Mar 2018 23:15:39 -0400 Subject: arrange windows --- include/sway/tree/layout.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/sway/tree') diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h index 6980ec9e..ad52bdb0 100644 --- a/include/sway/tree/layout.h +++ b/include/sway/tree/layout.h @@ -43,7 +43,7 @@ enum sway_container_layout container_get_default_layout(struct sway_container *o void container_sort_workspaces(struct sway_container *output); -void container_arrange_windows(struct sway_container *container, +void arrange_windows(struct sway_container *container, double width, double height); struct sway_container *container_get_in_direction(struct sway_container -- cgit v1.2.3