From 6539e07bbd39f0f2ed04331121f511d7b28a442f Mon Sep 17 00:00:00 2001 From: Squibid Date: Tue, 11 Feb 2025 15:49:36 -0600 Subject: add keybind to reset mfact and nmaster --- dwl.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'dwl.c') diff --git a/dwl.c b/dwl.c index 7edb3fd..d076e26 100644 --- a/dwl.c +++ b/dwl.c @@ -213,6 +213,7 @@ struct Monitor { int gamma_lut_changed; int nmaster; char ltsymbol[16]; + char *name; int asleep; }; @@ -1085,6 +1086,7 @@ createmon(struct wl_listener *listener, void *data) m->gappx = gappx; m->tagset[0] = m->tagset[1] = 1; for (r = monrules; r < END(monrules); r++) { + m->name = wlr_output->name; if (!r->name || strstr(wlr_output->name, r->name)) { m->m.x = r->x; m->m.y = r->y; @@ -1778,8 +1780,15 @@ handlesig(int signo) void incnmaster(const Arg *arg) { + const MonitorRule *r; + if (!arg || !selmon) return; + if (arg->i == 0) { + for (r = monrules; r < END(monrules); r++) + if (!r->name || strstr(selmon->name, r->name)) + selmon->nmaster = r->nmaster; + } selmon->nmaster = MAX(selmon->nmaster + arg->i, 0); arrange(selmon); } @@ -2570,13 +2579,19 @@ void setmfact(const Arg *arg) { float f; + const MonitorRule *r; if (!arg || !selmon || !selmon->lt[selmon->sellt]->arrange) return; f = arg->f < 1.0f ? arg->f + selmon->mfact : arg->f - 1.0f; - if (f < 0.1 || f > 0.9) - return; - selmon->mfact = f; + if (arg->f == 0) { + for (r = monrules; r < END(monrules); r++) + if (!r->name || strstr(selmon->name, r->name)) + selmon->mfact = r->mfact; + } else if (f > 0.1 || f < 0.9) + selmon->mfact = f; + else + return; arrange(selmon); } -- cgit v1.2.1