mirror of
				https://codeberg.org/dwl/dwl-patches.git
				synced 2025-11-04 05:54:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From e94f4b8363f4122f9b00f774a5b541a00c49fd35 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..8f2fade 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}; /* Modify as needed to match TAGCOUNT */
 | 
						|
 
 | 
						|
 /* logging */
 | 
						|
 static int log_level = WLR_ERROR;
 | 
						|
diff --git a/dwl.c b/dwl.c
 | 
						|
index d234cd2..da46816 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[1][0];
 | 
						|
+	m->lt[1] = m->pertag->ltidxs[1][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
 | 
						|
 |