2017-11-19 23:04:28 +01:00
|
|
|
#ifndef _SWAY_LAYOUT_H
|
|
|
|
#define _SWAY_LAYOUT_H
|
|
|
|
|
2017-12-12 20:02:01 +01:00
|
|
|
#include <wlr/types/wlr_output_layout.h>
|
2018-02-04 19:39:10 +01:00
|
|
|
#include "sway/container.h"
|
2017-12-12 20:02:01 +01:00
|
|
|
|
2017-11-19 23:04:28 +01:00
|
|
|
struct sway_container;
|
|
|
|
|
2017-12-12 20:02:01 +01:00
|
|
|
struct sway_root {
|
|
|
|
struct wlr_output_layout *output_layout;
|
|
|
|
|
|
|
|
struct wl_listener output_layout_change;
|
2018-01-14 19:19:21 +01:00
|
|
|
|
|
|
|
struct wl_list unmanaged_views; // sway_view::unmanaged_view_link
|
2018-02-04 19:39:10 +01:00
|
|
|
|
|
|
|
struct {
|
|
|
|
struct wl_signal new_container;
|
|
|
|
} events;
|
2017-12-12 20:02:01 +01:00
|
|
|
};
|
|
|
|
|
2017-11-19 23:04:28 +01:00
|
|
|
void init_layout(void);
|
|
|
|
void add_child(struct sway_container *parent, struct sway_container *child);
|
2018-02-04 19:39:10 +01:00
|
|
|
swayc_t *add_sibling(swayc_t *parent, swayc_t *child);
|
2017-11-25 22:30:15 +01:00
|
|
|
struct sway_container *remove_child(struct sway_container *child);
|
2017-11-23 02:39:27 +01:00
|
|
|
enum swayc_layouts default_layout(struct sway_container *output);
|
|
|
|
void sort_workspaces(struct sway_container *output);
|
2017-11-25 16:59:49 +01:00
|
|
|
void arrange_windows(struct sway_container *container, double width, double height);
|
2017-11-19 23:04:28 +01:00
|
|
|
|
|
|
|
#endif
|