From 5ba29fb87efac3c65a6308c239577f1504d47343 Mon Sep 17 00:00:00 2001
From: pbentes <pedrogomes2000.3@gmail.com>
Date: Sun, 4 May 2025 20:01:40 +0100
Subject: [PATCH] Added bar padding patch

---
 config.def.h                       |  2 +
 dwm.c                              |  8 ++--
 patches/dwm-statuspadding-6.3.diff | 62 ++++++++++++++++++++++++++++++
 3 files changed, 68 insertions(+), 4 deletions(-)
 create mode 100644 patches/dwm-statuspadding-6.3.diff

diff --git a/config.def.h b/config.def.h
index 9efa774..cfc6891 100644
--- a/config.def.h
+++ b/config.def.h
@@ -5,6 +5,8 @@ static const unsigned int borderpx  = 1;        /* border pixel of windows */
 static const unsigned int snap      = 32;       /* snap pixel */
 static const int showbar            = 1;        /* 0 means no bar */
 static const int topbar             = 1;        /* 0 means bottom bar */
+static const int horizpadbar        = 2;        /* horizontal padding for statusbar */
+static const int vertpadbar         = 0;        /* vertical padding for statusbar */
 static const char *fonts[]          = { "monospace:size=10" };
 static const char dmenufont[]       = "monospace:size=10";
 static const char col_gray1[]       = "#222222";
diff --git a/dwm.c b/dwm.c
index 1443802..d2b9aca 100644
--- a/dwm.c
+++ b/dwm.c
@@ -709,8 +709,8 @@ drawbar(Monitor *m)
 	/* draw status first so it can be overdrawn by tags later */
 	if (m == selmon) { /* status is only drawn on selected monitor */
 		drw_setscheme(drw, scheme[SchemeNorm]);
-		tw = TEXTW(stext) - lrpad + 2; /* 2px right padding */
-		drw_text(drw, m->ww - tw, 0, tw, bh, 0, stext, 0);
+		tw = TEXTW(stext);
+		drw_text(drw, m->ww - tw, 0, tw, bh, lrpad / 2, stext, 0);
 	}
 
 	for (c = m->clients; c; c = c->next) {
@@ -1560,8 +1560,8 @@ setup(void)
 	drw = drw_create(dpy, screen, root, sw, sh);
 	if (!drw_fontset_create(drw, fonts, LENGTH(fonts)))
 		die("no fonts could be loaded.");
-	lrpad = drw->fonts->h;
-	bh = drw->fonts->h + 2;
+	lrpad = drw->fonts->h + horizpadbar;
+	bh = drw->fonts->h + vertpadbar;
 	updategeom();
 	/* init atoms */
 	utf8string = XInternAtom(dpy, "UTF8_STRING", False);
diff --git a/patches/dwm-statuspadding-6.3.diff b/patches/dwm-statuspadding-6.3.diff
new file mode 100644
index 0000000..fa6780f
--- /dev/null
+++ b/patches/dwm-statuspadding-6.3.diff
@@ -0,0 +1,62 @@
+From d6dd69c26f4272f87672ae54f69dc0d48650d34b Mon Sep 17 00:00:00 2001
+From: taep96 <64481039+taep96@users.noreply.github.com>
+Date: Mon, 7 Feb 2022 19:09:45 +0100
+Subject: [PATCH] Fixed | Replaces magic numbers in statusbar with configurable
+ variables.
+
+horizpadbar for horizontal statusbar padding
+vertpadbar for vertical statusbar padding
+
+StatusText now has both left and right padding,
+as well as the vertical padding that all of the statusbar shares.
+
+Other than the addition of left padding to StatusText, appearance
+of the statusbar is identical to pre-patch when using the defaults
+in config.def.h
+---
+ config.def.h | 2 ++
+ dwm.c        | 8 ++++----
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/config.def.h b/config.def.h
+index a2ac963..6cb845c 100644
+--- a/config.def.h
++++ b/config.def.h
+@@ -5,6 +5,8 @@ static const unsigned int borderpx  = 1;        /* border pixel of windows */
+ static const unsigned int snap      = 32;       /* snap pixel */
+ static const int showbar            = 1;        /* 0 means no bar */
+ static const int topbar             = 1;        /* 0 means bottom bar */
++static const int horizpadbar        = 2;        /* horizontal padding for statusbar */
++static const int vertpadbar         = 0;        /* vertical padding for statusbar */
+ static const char *fonts[]          = { "monospace:size=10" };
+ static const char dmenufont[]       = "monospace:size=10";
+ static const char col_gray1[]       = "#222222";
+diff --git a/dwm.c b/dwm.c
+index a96f33c..a1b8c95 100644
+--- a/dwm.c
++++ b/dwm.c
+@@ -708,8 +708,8 @@ drawbar(Monitor *m)
+ 	/* draw status first so it can be overdrawn by tags later */
+ 	if (m == selmon) { /* status is only drawn on selected monitor */
+ 		drw_setscheme(drw, scheme[SchemeNorm]);
+-		tw = TEXTW(stext) - lrpad + 2; /* 2px right padding */
+-		drw_text(drw, m->ww - tw, 0, tw, bh, 0, stext, 0);
++		tw = TEXTW(stext);
++		drw_text(drw, m->ww - tw, 0, tw, bh, lrpad / 2, stext, 0);
+ 	}
+ 
+ 	for (c = m->clients; c; c = c->next) {
+@@ -1548,8 +1548,8 @@ setup(void)
+ 	drw = drw_create(dpy, screen, root, sw, sh);
+ 	if (!drw_fontset_create(drw, fonts, LENGTH(fonts)))
+ 		die("no fonts could be loaded.");
+-	lrpad = drw->fonts->h;
+-	bh = drw->fonts->h + 2;
++	lrpad = drw->fonts->h + horizpadbar;
++	bh = drw->fonts->h + vertpadbar;
+ 	updategeom();
+ 	/* init atoms */
+ 	utf8string = XInternAtom(dpy, "UTF8_STRING", False);
+-- 
+2.35.1
+