aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree/view.c
diff options
context:
space:
mode:
authorLibravatar db <github@benedik.si>2019-02-24 10:00:15 +0100
committerLibravatar Brian Ashworth <bosrsf04@gmail.com>2019-02-24 15:26:37 -0500
commit2510e3df384d9ab7b27e66c27371ec44606f5d8e (patch)
tree604c78e79e5ba5c780429a69d5c617ffc0a5cbe4 /sway/tree/view.c
parentMake load_include_configs void. Fix some cases where WD would not be restored. (diff)
downloadsway-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.c19
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;