WIP: Atomic layout updates ground work

This commit is contained in:
Ryan Dwyer 2018-06-03 16:35:06 +10:00
parent 0b798ed954
commit 59c9488701
16 changed files with 771 additions and 347 deletions

View file

@ -54,6 +54,28 @@ struct sway_output;
struct sway_workspace;
struct sway_view;
struct sway_container_state {
// Container/swayc properties
enum sway_container_layout layout;
double swayc_x, swayc_y;
double swayc_width, swayc_height;
//struct sway_container *parent;
//list_t *children;
// View properties
double view_x, view_y;
double view_width, view_height;
bool is_fullscreen;
enum sway_container_border border;
int border_thickness;
bool border_top;
bool border_bottom;
bool border_left;
bool border_right;
};
struct sway_container {
union {
// TODO: Encapsulate state for other node types as well like C_CONTAINER
@ -69,6 +91,8 @@ struct sway_container {
*/
size_t id;
struct sway_container_state pending;
char *name; // The view's title (unformatted)
char *formatted_title; // The title displayed in the title bar
@ -246,4 +270,9 @@ void container_set_geometry_from_floating_view(struct sway_container *con);
*/
bool container_is_floating(struct sway_container *container);
/**
* Get a container's box in layout coordinates.
*/
struct wlr_box *container_get_box(struct sway_container *container);
#endif