diff options
author | db <github@benedik.si> | 2019-02-24 10:00:15 +0100 |
---|---|---|
committer | Brian Ashworth <bosrsf04@gmail.com> | 2019-02-24 15:26:37 -0500 |
commit | 2510e3df384d9ab7b27e66c27371ec44606f5d8e (patch) | |
tree | 604c78e79e5ba5c780429a69d5c617ffc0a5cbe4 /sway/tree/view.c | |
parent | Make load_include_configs void. Fix some cases where WD would not be restored. (diff) | |
download | sway-2510e3df384d9ab7b27e66c27371ec44606f5d8e.tar.gz sway-2510e3df384d9ab7b27e66c27371ec44606f5d8e.tar.zst sway-2510e3df384d9ab7b27e66c27371ec44606f5d8e.zip |
add --i3 flag to hide_edge_borders
Enables i3-compatible behavior regarding hiding the title bar on tabbed and
stacked containers with one child.
Related issues and merge requests: #3031, #3002, #2912, #2987.
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r-- | sway/tree/view.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index ca13def7..14cc07d9 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c | |||
@@ -246,14 +246,17 @@ void view_autoconfigure(struct sway_view *view) { | |||
246 | // In a tabbed or stacked container, the container's y is the top of the | 246 | // In a tabbed or stacked container, the container's y is the top of the |
247 | // title area. We have to offset the surface y by the height of the title, | 247 | // title area. We have to offset the surface y by the height of the title, |
248 | // bar, and disable any top border because we'll always have the title bar. | 248 | // bar, and disable any top border because we'll always have the title bar. |
249 | enum sway_container_layout layout = container_parent_layout(con); | 249 | list_t *siblings = container_get_siblings(con); |
250 | if (layout == L_TABBED && !container_is_floating(con)) { | 250 | bool show_titlebar = siblings->length > 1 || !config->hide_lone_tab; |
251 | y_offset = container_titlebar_height(); | 251 | if (show_titlebar && !container_is_floating(con)) { |
252 | con->border_top = false; | 252 | enum sway_container_layout layout = container_parent_layout(con); |
253 | } else if (layout == L_STACKED && !container_is_floating(con)) { | 253 | if (layout == L_TABBED) { |
254 | list_t *siblings = container_get_siblings(con); | 254 | y_offset = container_titlebar_height(); |
255 | y_offset = container_titlebar_height() * siblings->length; | 255 | con->border_top = false; |
256 | con->border_top = false; | 256 | } else if (layout == L_STACKED) { |
257 | y_offset = container_titlebar_height() * siblings->length; | ||
258 | con->border_top = false; | ||
259 | } | ||
257 | } | 260 | } |
258 | 261 | ||
259 | double x, y, width, height; | 262 | double x, y, width, height; |