diff options
author | Drew DeVault <sir@cmpwn.com> | 2016-04-25 11:34:27 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2016-04-25 11:34:27 -0400 |
commit | dba1195b4452dd7497d780b5d8c0b43f361f5aab (patch) | |
tree | 0b329d72536a75e5d960b25b4414b9d1fe4a5018 /include/container.h | |
parent | Merge pull request #601 from Hummer12007/pango_markup_config (diff) | |
parent | Remove commented code (diff) | |
download | sway-dba1195b4452dd7497d780b5d8c0b43f361f5aab.tar.gz sway-dba1195b4452dd7497d780b5d8c0b43f361f5aab.tar.zst sway-dba1195b4452dd7497d780b5d8c0b43f361f5aab.zip |
Merge pull request #566 from mikkeloscar/tabbed-stacking-layout
Tabbed and stacked layout
Diffstat (limited to 'include/container.h')
-rw-r--r-- | include/container.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/include/container.h b/include/container.h index 26da851e..d1905720 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. |
@@ -56,6 +59,7 @@ struct sway_container { | |||
56 | 59 | ||
57 | enum swayc_types type; | 60 | enum swayc_types type; |
58 | enum swayc_layouts layout; | 61 | enum swayc_layouts layout; |
62 | enum swayc_layouts prev_layout; | ||
59 | 63 | ||
60 | /** | 64 | /** |
61 | * Width and height of this container, without borders or gaps. | 65 | * Width and height of this container, without borders or gaps. |
@@ -75,6 +79,12 @@ struct sway_container { | |||
75 | double x, y; | 79 | double x, y; |
76 | 80 | ||
77 | /** | 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 | /** | ||
78 | * 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 |
79 | * workspace that is not shown. | 89 | * workspace that is not shown. |
80 | */ | 90 | */ |
@@ -119,7 +129,7 @@ struct sway_container { | |||
119 | * 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 |
120 | * buffer (or NULL). | 130 | * buffer (or NULL). |
121 | */ | 131 | */ |
122 | unsigned char *border; | 132 | struct border *border; |
123 | enum swayc_border_types border_type; | 133 | enum swayc_border_types border_type; |
124 | struct wlc_geometry border_geometry; | 134 | struct wlc_geometry border_geometry; |
125 | struct wlc_geometry title_bar_geometry; | 135 | struct wlc_geometry title_bar_geometry; |
@@ -240,6 +250,13 @@ bool swayc_is_parent_of(swayc_t *parent, swayc_t *child); | |||
240 | * Returns true if the child is a desecendant of the parent. | 250 | * Returns true if the child is a desecendant of the parent. |
241 | */ | 251 | */ |
242 | bool swayc_is_child_of(swayc_t *child, swayc_t *parent); | 252 | bool swayc_is_child_of(swayc_t *child, swayc_t *parent); |
253 | |||
254 | /** | ||
255 | * Returns the top most tabbed or stacked parent container. Returns NULL if | ||
256 | * view is not in a tabbed/stacked layout. | ||
257 | */ | ||
258 | swayc_t *swayc_tabbed_stacked_parent(swayc_t *view); | ||
259 | |||
243 | /** | 260 | /** |
244 | * Returns the gap (padding) of the container. | 261 | * Returns the gap (padding) of the container. |
245 | * | 262 | * |