From fcf3f602aff38522c247857f01e2bb8bdbfefac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?= <leohdz172@protonmail.com> Date: Wed, 20 Jul 2022 00:15:32 -0500 Subject: [PATCH] allow gaps in monocle layout if requested --- config.def.h | 1 + dwl.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/config.def.h b/config.def.h index acc02c2..33a8089 100644 --- a/config.def.h +++ b/config.def.h @@ -8,6 +8,7 @@ static const int sloppyfocus = 1; /* focus follows mouse */ static const int bypass_surface_visibility = 0; /* 1 means idle inhibitors will disable idle tracking even if it's surface isn't visible */ static const int smartborders = 1; static const int smartgaps = 0; /* 1 means no outer gap when there is only one window */ +static const int monoclegaps = 0; /* 1 means outer gaps in monocle layout */ static const unsigned int borderpx = 1; /* border pixel of windows */ static const unsigned int gappih = 10; /* horiz inner gap between windows */ static const unsigned int gappiv = 10; /* vert inner gap between windows */ diff --git a/dwl.c b/dwl.c index 15e7f4e..5ba5593 100644 --- a/dwl.c +++ b/dwl.c @@ -2036,8 +2036,12 @@ monocle(Monitor *m) wl_list_for_each(c, &clients, link) { if (!VISIBLEON(c, m) || c->isfloating || c->isfullscreen) continue; - resize(c, m->w, 0, !smartborders); n++; + if (!monoclegaps) + resize(c, m->w, 0, !smartborders); + else + resize(c, (struct wlr_box){.x = m->w.x + gappoh, .y = m->w.y + gappov, + .width = m->w.width - 2 * gappoh, .height = m->w.height - 2 * gappov}, 0, !smartborders); } if (n) snprintf(m->ltsymbol, LENGTH(m->ltsymbol), "[%d]", n);