From 04489ff4209dc073027419d90961367cfb998fe8 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 3 Aug 2018 23:06:01 +1000 Subject: Separate root-related code This creates a root.c and moves bits and pieces from elsewhere into it. * layout_init has been renamed to root_create and moved into root.c * root_destroy has been created and is called on shutdown * scratchpad code has been moved into root.c, because hidden scratchpad containers are stored in the root struct --- include/sway/tree/root.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 include/sway/tree/root.h (limited to 'include/sway/tree/root.h') 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 @@ +#ifndef _SWAY_ROOT_H +#define _SWAY_ROOT_H +#include +#include +#include +#include +#include "sway/tree/container.h" +#include "config.h" +#include "list.h" + +extern struct sway_container root_container; + +struct sway_root { + struct wlr_output_layout *output_layout; + + struct wl_listener output_layout_change; +#ifdef HAVE_XWAYLAND + struct wl_list xwayland_unmanaged; // sway_xwayland_unmanaged::link +#endif + struct wl_list drag_icons; // sway_drag_icon::link + + struct wlr_texture *debug_tree; + + struct wl_list outputs; // sway_output::link + + list_t *scratchpad; // struct sway_container + + struct { + struct wl_signal new_container; + } events; +}; + +void root_create(void); + +void root_destroy(void); + +/** + * Move a container to the scratchpad. + */ +void root_scratchpad_add_container(struct sway_container *con); + +/** + * Remove a container from the scratchpad. + */ +void root_scratchpad_remove_container(struct sway_container *con); + +/** + * Show a single scratchpad container. + */ +void root_scratchpad_show(struct sway_container *con); + +/** + * Hide a single scratchpad container. + */ +void root_scratchpad_hide(struct sway_container *con); + +#endif -- cgit v1.2.3