diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-10-31 14:51:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-31 14:51:04 +0100 |
commit | e21a23348bd097d0b1d247a05324a8af92300851 (patch) | |
tree | 721700e04d2a02acba4c749c84b98b3544ab3364 /sway | |
parent | Merge pull request #3027 from madblobfish/remove-resolve_path (diff) | |
parent | Revert "Respect border settings when rendering lone tabbed/stacked child" (diff) | |
download | sway-e21a23348bd097d0b1d247a05324a8af92300851.tar.gz sway-e21a23348bd097d0b1d247a05324a8af92300851.tar.zst sway-e21a23348bd097d0b1d247a05324a8af92300851.zip |
Merge pull request #3031 from atomnuker/master
Restore previous tabbed layout behavior
Diffstat (limited to 'sway')
-rw-r--r-- | sway/desktop/render.c | 7 | ||||
-rw-r--r-- | sway/tree/view.c | 22 |
2 files changed, 11 insertions, 18 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c index c1fa0c8c..1a72f752 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c | |||
@@ -781,13 +781,6 @@ static void render_containers_stacked(struct sway_output *output, | |||
781 | 781 | ||
782 | static void render_containers(struct sway_output *output, | 782 | static void render_containers(struct sway_output *output, |
783 | pixman_region32_t *damage, struct parent_data *parent) { | 783 | pixman_region32_t *damage, struct parent_data *parent) { |
784 | if (parent->children->length == 1) { | ||
785 | struct sway_container *child = parent->children->items[0]; | ||
786 | if (child->view) { | ||
787 | render_containers_linear(output, damage, parent); | ||
788 | return; | ||
789 | } | ||
790 | } | ||
791 | switch (parent->layout) { | 784 | switch (parent->layout) { |
792 | case L_NONE: | 785 | case L_NONE: |
793 | case L_HORIZ: | 786 | case L_HORIZ: |
diff --git a/sway/tree/view.c b/sway/tree/view.c index cf67acbb..4bc9e0f3 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c | |||
@@ -242,23 +242,23 @@ void view_autoconfigure(struct sway_view *view) { | |||
242 | view->border_bottom = bottom_y != ws->y + ws->height; | 242 | view->border_bottom = bottom_y != ws->y + ws->height; |
243 | } | 243 | } |
244 | 244 | ||
245 | double x, y, width, height; | ||
246 | x = y = width = height = 0; | ||
247 | double y_offset = 0; | ||
248 | |||
245 | // In a tabbed or stacked container, the container's y is the top of the | 249 | // In a tabbed or stacked container, the container's y is the top of the |
246 | // title area. We have to offset the surface y by the height of the title, | 250 | // title area. We have to offset the surface y by the height of the title, |
247 | // bar, and disable any top border because we'll always have the title bar. | 251 | // bar, and disable any top border because we'll always have the title bar. |
248 | double y_offset = 0; | ||
249 | enum sway_container_layout layout = container_parent_layout(con); | 252 | enum sway_container_layout layout = container_parent_layout(con); |
250 | list_t *siblings = container_get_siblings(con); | 253 | if (layout == L_TABBED && !container_is_floating(con)) { |
251 | if (siblings->length > 1 && !container_is_floating(con)) { | 254 | y_offset = container_titlebar_height(); |
252 | if (layout == L_TABBED) { | 255 | view->border_top = false; |
253 | y_offset = container_titlebar_height(); | 256 | } else if (layout == L_STACKED && !container_is_floating(con)) { |
254 | view->border_top = false; | 257 | list_t *siblings = container_get_siblings(con); |
255 | } else if (layout == L_STACKED) { | 258 | y_offset = container_titlebar_height() * siblings->length; |
256 | y_offset = container_titlebar_height() * siblings->length; | 259 | view->border_top = false; |
257 | view->border_top = false; | ||
258 | } | ||
259 | } | 260 | } |
260 | 261 | ||
261 | double x = 0, y = 0, width = 0, height = 0; | ||
262 | switch (view->border) { | 262 | switch (view->border) { |
263 | case B_CSD: | 263 | case B_CSD: |
264 | case B_NONE: | 264 | case B_NONE: |