From fb953df35b2641661e99a35dc294e44442ec3a36 Mon Sep 17 00:00:00 2001 From: MayOrMayNotBeACat Date: Fri, 6 Jun 2025 22:42:16 -0400 Subject: [PATCH] Allow initial layout to be set per tag. --- config.def.h | 1 + dwl.c | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/config.def.h b/config.def.h index 22d2171..1bae97c 100644 --- a/config.def.h +++ b/config.def.h @@ -16,6 +16,7 @@ static const float fullscreen_bg[] = {0.1f, 0.1f, 0.1f, 1.0f}; /* You ca /* tagging - TAGCOUNT must be no greater than 31 */ #define TAGCOUNT (9) +static int tag_layout[TAGCOUNT] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; /* logging */ static int log_level = WLR_ERROR; diff --git a/dwl.c b/dwl.c index d234cd2..4c582f3 100644 --- a/dwl.c +++ b/dwl.c @@ -1045,11 +1045,18 @@ createmon(struct wl_listener *listener, void *data) m->pertag->nmasters[i] = m->nmaster; m->pertag->mfacts[i] = m->mfact; - m->pertag->ltidxs[i][0] = m->lt[0]; + if (i != 0) + m->pertag->ltidxs[i][0] = &layouts[tag_layout[i-1]]; + else + m->pertag->ltidxs[i][0] = m->lt[0]; m->pertag->ltidxs[i][1] = m->lt[1]; m->pertag->sellts[i] = m->sellt; } + m->lt[0] = m->pertag->ltidxs[0][0]; + m->lt[1] = m->pertag->ltidxs[0][1]; + strncpy(m->ltsymbol, m->pertag->ltidxs[1][0]->symbol, LENGTH(m->ltsymbol)); + /* The xdg-protocol specifies: * * If the fullscreened surface is not opaque, the compositor must make -- 2.49.0