diff -r -u a/config.def.h b/config.def.h --- a/config.def.h 2022-01-07 06:42:18.000000000 -0500 +++ b/config.def.h 2022-01-23 16:03:42.521951418 -0500 @@ -69,6 +69,7 @@ { MODKEY, XK_k, focusstack, {.i = -1 } }, { MODKEY, XK_i, incnmaster, {.i = +1 } }, { MODKEY, XK_d, incnmaster, {.i = -1 } }, + { MODKEY, XK_o, resetnmaster, {0} }, { MODKEY, XK_h, setmfact, {.f = -0.05} }, { MODKEY, XK_l, setmfact, {.f = +0.05} }, { MODKEY, XK_Return, zoom, {0} }, diff -r -u a/dwm.c b/dwm.c --- a/dwm.c 2022-01-23 16:06:01.221948285 -0500 +++ b/dwm.c 2022-01-23 16:05:35.949948855 -0500 @@ -191,6 +191,7 @@ static void propertynotify(XEvent *e); static void quit(const Arg *arg); static Monitor *recttomon(int x, int y, int w, int h); +static void resetnmaster(const Arg *arg); static void resize(Client *c, int x, int y, int w, int h, int interact); static void resizeclient(Client *c, int x, int y, int w, int h); static void resizemouse(const Arg *arg); @@ -1296,6 +1297,13 @@ } void +resetnmaster(const Arg *arg) +{ + selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag] = 1; + arrange(selmon); +} + +void resize(Client *c, int x, int y, int w, int h, int interact) { if (applysizehints(c, &x, &y, &w, &h, interact))