[wiki] [sites] [dwm][patches][bardwmlogo] Add patch for 6.6 || Rizqi Nur Assyaufi
commit 57136ca6275ebed02a58a3f9bf33a1bd798462cb
Author: Rizqi Nur Assyaufi <bandithijo_AT_gmail.com>
Date: Fri Aug 15 20:55:06 2025 +0800
[dwm][patches][bardwmlogo] Add patch for 6.6
diff --git a/dwm.suckless.org/patches/bardwmlogo/bardwmlogo_1.png b/dwm.suckless.org/patches/bardwmlogo/bardwmlogo_1.png
index 09171912..d506496b 100644
Binary files a/dwm.suckless.org/patches/bardwmlogo/bardwmlogo_1.png and b/dwm.suckless.org/patches/bardwmlogo/bardwmlogo_1.png differ
diff --git a/dwm.suckless.org/patches/bardwmlogo/dwm-bardwmlogo-6.6.diff b/dwm.suckless.org/patches/bardwmlogo/dwm-bardwmlogo-6.6.diff
new file mode 100644
index 00000000..bbf5e5b6
--- /dev/null
+++ b/dwm.suckless.org/patches/bardwmlogo/dwm-bardwmlogo-6.6.diff
_AT_@ -0,0 +1,98 @@
+From c0e147bf031f9c2638e2c192a97e2d200e4b74be Mon Sep 17 00:00:00 2001
+From: Rizqi Nur Assyaufi <bandithijo_AT_gmail.com>
+Date: Fri, 15 Aug 2025 20:49:26 +0800
+Subject: [PATCH] Add DWM logo on left bar before tags
+
+This patch adds a DWM logo to the left side of the status bar, positioned
+before the tags, for aesthetic or branding purposes.
+
+Defines a fixed logo width (`dwmlogowdth = 54`) and adjusts tag rendering to
+prevent overlap.
+
+Uses multiple `drw_rect()` calls to render a pixel-art style "dwm" logo using
+rectangles.
+
+This patch is purely visual and does not impact DWM's core functionality or
+performance. It may appeal to users who want a more personalized or distinctive
+appearance for their window manager.
+
+---
+ dwm.c | 34 +++++++++++++++++++++++++++++++++-
+ 1 file changed, 33 insertions(+), 1 deletion(-)
+
+diff --git a/dwm.c b/dwm.c
+index 1443802..c9b2858 100644
+--- a/dwm.c
++++ b/dwm.c
+_AT_@ -140,6 +140,10 @@ typedef struct {
+ int monitor;
+ } Rule;
+
++typedef struct {
++ int x, y, w, h;
++} DwmLogo;
++
+ /* function declarations */
+ static void applyrules(Client *c);
+ static int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact);
+_AT_@ -240,6 +244,7 @@ static int screen;
+ static int sw, sh; /* X display screen geometry width, height */
+ static int bh; /* bar height */
+ static int lrpad; /* sum of left and right padding for text */
++static int dwmlogowdth = 54; /* dwm logo width */
+ static int (*xerrorxlib)(Display *, XErrorEvent *);
+ static unsigned int numlockmask = 0;
+ static void (*handler[LASTEvent]) (XEvent *) = {
+_AT_@ -432,6 +437,7 @@ buttonpress(XEvent *e)
+ }
+ if (ev->window == selmon->barwin) {
+ i = x = 0;
++ x = dwmlogowdth; /* dwm logo width */
+ do
+ x += TEXTW(tags[i]);
+ while (ev->x >= x && ++i < LENGTH(tags));
+_AT_@ -698,6 +704,7 @@ void
+ drawbar(Monitor *m)
+ {
+ int x, w, tw = 0;
++ int stroke = 4, letterHeight = bh - 4;
+ int boxs = drw->fonts->h / 9;
+ int boxw = drw->fonts->h / 6 + 2;
+ unsigned int i, occ = 0, urg = 0;
+_AT_@ -718,7 +725,32 @@ drawbar(Monitor *m)
+ if (c->isurgent)
+ urg |= c->tags;
+ }
+- x = 0;
++
++ /* use colored scheme for visibility */
++ drw_setscheme(drw, scheme[SchemeNorm]);
++
++ /* draw dark background for logo */
++ drw_rect(drw, 0, 0, dwmlogowdth, bh, 1, 1);
++
++ /* draw dwm logo */
++ const DwmLogo dwmLogo[] = {
++ { 0, 9, stroke, letterHeight / 2 }, /* d: left vertical */
++ { 0, 15, 35, stroke }, /* d: bottom horizontal */
++ { 13, 1, stroke, letterHeight }, /* d: right vertical */
++ { 0, 7, 15, stroke }, /* d: top horizontal */
++ { 22, 7, stroke, letterHeight / 2 }, /* w: center vertical */
++ { 31, 7, stroke, letterHeight / 2 }, /* w: right vertical */
++ { 31, 7, 22, stroke }, /* m: top horizontal */
++ { 40, 11, stroke, letterHeight / 2 }, /* m: center vertical */
++ { 49, 11, stroke, letterHeight / 2 } /* m: right vertical */
++ };
++
++ for (int i = 0; i < LENGTH(dwmLogo); i++) {
++ drw_rect(drw, dwmLogo[i].x, dwmLogo[i].y, dwmLogo[i].w, dwmLogo[i].h, 1, 0);
++ }
++
++ /* start drawing tags after logo */
++ x = dwmlogowdth;
+ for (i = 0; i < LENGTH(tags); i++) {
+ w = TEXTW(tags[i]);
+ drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]);
+--
+2.50.1
+
diff --git a/dwm.suckless.org/patches/bardwmlogo/index.md b/dwm.suckless.org/patches/bardwmlogo/index.md
index a69e2b26..e10d1560 100644
--- a/dwm.suckless.org/patches/bardwmlogo/index.md
+++ b/dwm.suckless.org/patches/bardwmlogo/index.md
_AT_@ -19,7 +19,8 @@ for their window manager.
Download
--------
-* [dwm-bardwmlogo-6.5.diff](dwm-bardwmlogo-6.5.diff) (2024-03-19)
+* [dwm-bardwmlogo-6.6.diff](dwm-bardwmlogo-6.6.diff) (2025-08-15)
+* [dwm-bardwmlogo-6.5.diff](dwm-bardwmlogo-6.5.diff) (2025-06-24)
Authors
-------
Received on Fri Aug 15 2025 - 14:58:09 CEST
This archive was generated by hypermail 2.3.0
: Fri Aug 15 2025 - 15:00:51 CEST