sway-patched-tray-menu-github/include/sway/tree/layout.h

53 lines
1.2 KiB
C
Raw Normal View History

2017-11-19 17:04:28 -05:00
#ifndef _SWAY_LAYOUT_H
#define _SWAY_LAYOUT_H
2017-12-12 20:02:01 +01:00
#include <wlr/types/wlr_output_layout.h>
#include "sway/tree/container.h"
2017-12-12 20:02:01 +01:00
2018-02-14 14:30:27 -05:00
enum movement_direction {
MOVE_LEFT,
MOVE_RIGHT,
MOVE_UP,
MOVE_DOWN,
MOVE_PARENT,
MOVE_CHILD,
MOVE_NEXT,
MOVE_PREV,
MOVE_FIRST
};
2017-11-19 17:04:28 -05: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 13:19:21 -05:00
struct wl_list unmanaged_views; // sway_view::unmanaged_view_link
2018-02-04 13:39:10 -05:00
struct {
struct wl_signal new_container;
} events;
2017-12-12 20:02:01 +01:00
};
2018-03-29 17:06:29 -04:00
void layout_init(void);
2018-03-29 17:06:29 -04:00
void container_add_child(struct sway_container *parent, struct sway_container *child);
2018-03-29 17:06:29 -04:00
struct sway_container *container_add_sibling(struct sway_container *parent,
2018-03-29 14:31:10 -04:00
struct sway_container *child);
2018-03-29 17:06:29 -04:00
struct sway_container *container_remove_child(struct sway_container *child);
2018-03-29 17:06:29 -04:00
enum sway_container_layout container_get_default_layout(struct sway_container *output);
2018-03-29 17:06:29 -04:00
void container_sort_workspaces(struct sway_container *output);
2018-03-29 17:06:29 -04:00
void container_arrange_windows(struct sway_container *container,
double width, double height);
2018-03-29 17:06:29 -04:00
struct sway_container *container_get_in_direction(struct sway_container
2018-03-29 14:31:10 -04:00
*container, struct sway_seat *seat, enum movement_direction dir);
2017-11-19 17:04:28 -05:00
#endif