diff options
author | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2016-04-20 00:22:15 +0200 |
---|---|---|
committer | Mikkel Oscar Lyderik <mikkeloscar@gmail.com> | 2016-04-25 00:00:49 +0200 |
commit | 3e1f78ab26e8bc6b6cefd53ee137e97533c2695e (patch) | |
tree | f158bcae9fce9af29a35bd3ec0e32b81bff87662 /include/container.h | |
parent | Use tabs for indentation (diff) | |
download | sway-3e1f78ab26e8bc6b6cefd53ee137e97533c2695e.tar.gz sway-3e1f78ab26e8bc6b6cefd53ee137e97533c2695e.tar.zst sway-3e1f78ab26e8bc6b6cefd53ee137e97533c2695e.zip |
Add support for nested tabbed/stacked containers
Diffstat (limited to 'include/container.h')
-rw-r--r-- | include/container.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/include/container.h b/include/container.h index 29d4ea12..ae57d1e3 100644 --- a/include/container.h +++ b/include/container.h | |||
@@ -2,9 +2,12 @@ | |||
2 | #define _SWAY_CONTAINER_H | 2 | #define _SWAY_CONTAINER_H |
3 | #include <sys/types.h> | 3 | #include <sys/types.h> |
4 | #include <wlc/wlc.h> | 4 | #include <wlc/wlc.h> |
5 | |||
6 | #include "list.h" | ||
7 | |||
5 | typedef struct sway_container swayc_t; | 8 | typedef struct sway_container swayc_t; |
6 | 9 | ||
7 | #include "layout.h" | 10 | extern swayc_t root_container; |
8 | 11 | ||
9 | /** | 12 | /** |
10 | * Different kinds of containers. | 13 | * Different kinds of containers. |
@@ -76,6 +79,12 @@ struct sway_container { | |||
76 | double x, y; | 79 | double x, y; |
77 | 80 | ||
78 | /** | 81 | /** |
82 | * Cached geometry used to store view/container geometry when switching | ||
83 | * between tabbed/stacked and horizontal/vertical layouts. | ||
84 | */ | ||
85 | struct wlc_geometry cached_geometry; | ||
86 | |||
87 | /** | ||
79 | * False if this view is invisible. It could be in the scratchpad or on a | 88 | * False if this view is invisible. It could be in the scratchpad or on a |
80 | * workspace that is not shown. | 89 | * workspace that is not shown. |
81 | */ | 90 | */ |
@@ -120,7 +129,7 @@ struct sway_container { | |||
120 | * If this container is a view, this may be set to the window's decoration | 129 | * If this container is a view, this may be set to the window's decoration |
121 | * buffer (or NULL). | 130 | * buffer (or NULL). |
122 | */ | 131 | */ |
123 | unsigned char *border; | 132 | struct border *border; |
124 | enum swayc_border_types border_type; | 133 | enum swayc_border_types border_type; |
125 | struct wlc_geometry border_geometry; | 134 | struct wlc_geometry border_geometry; |
126 | struct wlc_geometry title_bar_geometry; | 135 | struct wlc_geometry title_bar_geometry; |
@@ -248,6 +257,12 @@ bool swayc_is_child_of(swayc_t *child, swayc_t *parent); | |||
248 | bool swayc_is_tabbed_stacked(swayc_t *view); | 257 | bool swayc_is_tabbed_stacked(swayc_t *view); |
249 | 258 | ||
250 | /** | 259 | /** |
260 | * Returns the top most tabbed or stacked parent container. Returns NULL if | ||
261 | * view is not in a tabbed/stacked layout. | ||
262 | */ | ||
263 | swayc_t *swayc_tabbed_stacked_parent(swayc_t *view); | ||
264 | |||
265 | /** | ||
251 | * Returns the gap (padding) of the container. | 266 | * Returns the gap (padding) of the container. |
252 | * | 267 | * |
253 | * This returns the inner gaps for a view, the outer gaps for a workspace, and | 268 | * This returns the inner gaps for a view, the outer gaps for a workspace, and |