From bb25194844599bb653a78633c9c09c0c0ff225ee Mon Sep 17 00:00:00 2001 From: Brian Ashworth Date: Mon, 1 Oct 2018 12:56:27 -0400 Subject: Handle border options for gaps Fixes `hide_edge_borders smart` when gaps are in use. Implements `hide_edge_borders smart_no_gaps` and `smart_borders on|no_gaps|off`. Since `smart_borders on` is equivalent to `hide_edge_borders smart` and `smart_borders no_gaps` is equivalent to `hide_edge_borders smart_no_gaps`, I opted to just save the last value set for `hide_edge_borders` and restore that on `smart_borders off`. This simplifies the conditions for setting the border. --- include/sway/commands.h | 1 + include/sway/config.h | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/sway/commands.h b/include/sway/commands.h index afa65340..64f707f4 100644 --- a/include/sway/commands.h +++ b/include/sway/commands.h @@ -160,6 +160,7 @@ sway_cmd cmd_scratchpad; sway_cmd cmd_seamless_mouse; sway_cmd cmd_set; sway_cmd cmd_show_marks; +sway_cmd cmd_smart_borders; sway_cmd cmd_smart_gaps; sway_cmd cmd_split; sway_cmd cmd_splith; diff --git a/include/sway/config.h b/include/sway/config.h index eab48aed..98a18b76 100644 --- a/include/sway/config.h +++ b/include/sway/config.h @@ -253,7 +253,8 @@ enum edge_border_types { E_VERTICAL, /**< hide vertical edge borders */ E_HORIZONTAL, /**< hide horizontal edge borders */ E_BOTH, /**< hide vertical and horizontal edge borders */ - E_SMART /**< hide both if precisely one window is present in workspace */ + E_SMART, /**< hide both if precisely one window is present in workspace */ + E_SMART_NO_GAPS, /**< hide both if one window and gaps to edge is zero */ }; enum command_context { @@ -383,6 +384,7 @@ struct sway_config { int border_thickness; int floating_border_thickness; enum edge_border_types hide_edge_borders; + enum edge_border_types saved_edge_borders; // border colors struct { -- cgit v1.2.3