commit f77cdd196c388c5d1eb4442fc25ad6a4cea5cd72
parent c40d34337e95617842ea6ebf398582be2ad8056a
Author: Jake Koroman <jake@jakekoroman.com>
Date: Thu, 2 Oct 2025 15:31:43 -0400
config.def.h: add LayoutIndex enum.
Diffstat:
M | config.def.h | | | 55 | ++++++++++++++++++++++++++++++++++++------------------- |
1 file changed, 36 insertions(+), 19 deletions(-)
diff --git a/config.def.h b/config.def.h
@@ -46,23 +46,40 @@ static const int refreshrate = 120; /* refresh rate (per second) for client mov
#define FORCE_VSPLIT 1 /* nrowgrid layout: force two clients to always split vertically */
#include "vanitygaps.c"
+enum LayoutIndex {
+ Layout_tile = 0,
+ Layout_monocle,
+ Layout_spiral,
+ Layout_dwindle,
+ Layout_deck,
+ Layout_bstack,
+ Layout_bstackhoriz,
+ Layout_grid,
+ Layout_nrowgrid,
+ Layout_horizgrid,
+ Layout_gaplessgrid,
+ Layout_centeredmaster,
+ Layout_centeredfloatingmaster,
+ Layout_floating,
+};
+
static const Layout layouts[] = {
- /* symbol arrange function */
- { "[]=", tile }, /* first entry is default */
- { "[M]", monocle },
- { "[@]", spiral },
- { "[\\]", dwindle },
- { "H[]", deck },
- { "TTT", bstack },
- { "===", bstackhoriz },
- { "HHH", grid },
- { "###", nrowgrid },
- { "---", horizgrid },
- { ":::", gaplessgrid },
- { "|M|", centeredmaster },
- { ">M>", centeredfloatingmaster },
- { "><>", NULL }, /* no layout function means floating behavior */
- { NULL, NULL },
+ /* symbol arrange function */
+ [Layout_tile] = { "[]=", tile },
+ [Layout_monocle] = { "[M]", monocle },
+ [Layout_spiral] = { "[@]", spiral },
+ [Layout_dwindle] = { "[\\]", dwindle },
+ [Layout_deck] = { "H[]", deck },
+ [Layout_bstack] = { "TTT", bstack },
+ [Layout_bstackhoriz] = { "===", bstackhoriz },
+ [Layout_grid] = { "HHH", grid },
+ [Layout_nrowgrid] = { "###", nrowgrid },
+ [Layout_horizgrid] = { "---", horizgrid },
+ [Layout_gaplessgrid] = { ":::", gaplessgrid },
+ [Layout_centeredmaster] = { "|M|", centeredmaster },
+ [Layout_centeredfloatingmaster] = { ">M>", centeredfloatingmaster },
+ [Layout_floating] = { "><>", NULL },
+ { NULL, NULL },
};
/* key definitions */
@@ -116,9 +133,9 @@ static const Key keys[] = {
{ MODKEY|Mod4Mask|ShiftMask, XK_0, defaultgaps, {0} },
{ MODKEY, XK_Tab, view, {0} },
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
- { MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
- { MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
- { MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
+ { MODKEY, XK_t, setlayout, {.v = &layouts[Layout_tile]} },
+ { MODKEY, XK_f, setlayout, {.v = &layouts[Layout_floating]} },
+ { MODKEY, XK_m, setlayout, {.v = &layouts[Layout_monocle]} },
{ MODKEY|ControlMask, XK_comma, cyclelayout, {.i = -1 } },
{ MODKEY|ControlMask, XK_period, cyclelayout, {.i = +1 } },
{ MODKEY, XK_space, setlayout, {0} },