diff options
author | emersion <contact@emersion.fr> | 2018-05-21 19:30:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-21 19:30:43 +0100 |
commit | 54818a1c98a2e6fa3a4f6b7537b73c5d58e1a076 (patch) | |
tree | 2a482d99f195e268ceb94a44f550610a6f3a95d0 | |
parent | a7adbf4b79dce4d61de1a8a71cba535aeae6bc76 (diff) | |
parent | 0273c6438c13dfd98204ba07fd42dac0081b0c7f (diff) | |
download | sway-54818a1c98a2e6fa3a4f6b7537b73c5d58e1a076.tar.xz |
Merge pull request #2016 from RedSoxFan/fix-tab-smart-borders
Fix hide_edge_borders smart for tabs and stacks
-rw-r--r-- | sway/tree/view.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index 64597c02..c013e635 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -141,9 +141,18 @@ void view_autoconfigure(struct sway_view *view) { struct sway_container *ws = container_parent(view->swayc, C_WORKSPACE); - int other_views = 1; + int other_views = 0; if (config->hide_edge_borders == E_SMART) { - other_views = container_count_descendants_of_type(ws, C_VIEW) - 1; + struct sway_container *con = view->swayc; + while (con != output) { + if (con->layout != L_TABBED && con->layout != L_STACKED) { + other_views += con->children ? con->children->length - 1 : 0; + if (other_views > 0) { + break; + } + } + con = con->parent; + } } view->border_top = view->border_bottom = true; |