summaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
Diffstat (limited to 'sway')
-rw-r--r--sway/desktop/render.c8
-rw-r--r--sway/tree/view.c2
2 files changed, 8 insertions, 2 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c
index 50f7d70b..8510cf68 100644
--- a/sway/desktop/render.c
+++ b/sway/desktop/render.c
@@ -720,8 +720,14 @@ static void render_view_toplevels(struct sway_view *view, struct sway_output *ou
clip_box.y = state.y - output->ly;
clip_box.width = state.width;
clip_box.height = state.height;
+
+ bool smart = config->hide_edge_borders_smart == ESMART_ON ||
+ (config->hide_edge_borders_smart == ESMART_NO_GAPS &&
+ !gaps_to_edge(view));
+
if (state.fullscreen_mode == FULLSCREEN_NONE
- && (state.border == B_PIXEL || state.border == B_NORMAL)) {
+ && (state.border == B_PIXEL || state.border == B_NORMAL)
+ && !smart) {
clip_box.x += state.border_thickness;
clip_box.width -= state.border_thickness * 2;
diff --git a/sway/tree/view.c b/sway/tree/view.c
index b66dc2f8..272967f4 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -233,7 +233,7 @@ static bool view_is_only_visible(struct sway_view *view) {
return true;
}
-static bool gaps_to_edge(struct sway_view *view) {
+bool gaps_to_edge(struct sway_view *view) {
struct side_gaps gaps = view->container->pending.workspace->current_gaps;
return gaps.top > 0 || gaps.right > 0 || gaps.bottom > 0 || gaps.left > 0;
}