dwl-patches/patches/launchtag/launchtag.patch
2025-06-06 23:29:51 -04:00

50 lines
1.4 KiB
Diff

From 3af0875ecc461af0b61ba31dc33c25544256ae26 Mon Sep 17 00:00:00 2001
From: MayOrMayNotBeACat <maybeacat804@gmail.com>
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..0c39007 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[] = {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