summaryrefslogtreecommitdiffstats
path: root/include/sway/tree/root.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway/tree/root.h')
-rw-r--r--include/sway/tree/root.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/include/sway/tree/root.h b/include/sway/tree/root.h
new file mode 100644
index 00000000..ada3c73f
--- /dev/null
+++ b/include/sway/tree/root.h
@@ -0,0 +1,57 @@
1#ifndef _SWAY_ROOT_H
2#define _SWAY_ROOT_H
3#include <wayland-server-core.h>
4#include <wayland-util.h>
5#include <wlr/types/wlr_output_layout.h>
6#include <wlr/render/wlr_texture.h>
7#include "sway/tree/container.h"
8#include "config.h"
9#include "list.h"
10
11extern struct sway_container root_container;
12
13struct sway_root {
14 struct wlr_output_layout *output_layout;
15
16 struct wl_listener output_layout_change;
17#ifdef HAVE_XWAYLAND
18 struct wl_list xwayland_unmanaged; // sway_xwayland_unmanaged::link
19#endif
20 struct wl_list drag_icons; // sway_drag_icon::link
21
22 struct wlr_texture *debug_tree;
23
24 struct wl_list outputs; // sway_output::link
25
26 list_t *scratchpad; // struct sway_container
27
28 struct {
29 struct wl_signal new_container;
30 } events;
31};
32
33void root_create(void);
34
35void root_destroy(void);
36
37/**
38 * Move a container to the scratchpad.
39 */
40void root_scratchpad_add_container(struct sway_container *con);
41
42/**
43 * Remove a container from the scratchpad.
44 */
45void root_scratchpad_remove_container(struct sway_container *con);
46
47/**
48 * Show a single scratchpad container.
49 */
50void root_scratchpad_show(struct sway_container *con);
51
52/**
53 * Hide a single scratchpad container.
54 */
55void root_scratchpad_hide(struct sway_container *con);
56
57#endif