[dwm][patches][bardwmlogo] Add patch for 6.6 - sites - public wiki contents of suckless.org
 (HTM) git clone git://git.suckless.org/sites
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
 (DIR) commit 57136ca6275ebed02a58a3f9bf33a1bd798462cb
 (DIR) parent 377c735e752c1f9a9807d939da685000d04a8f78
 (HTM) Author: Rizqi Nur Assyaufi <bandithijo@gmail.com>
       Date:   Fri, 15 Aug 2025 20:55:06 +0800
       
       [dwm][patches][bardwmlogo] Add patch for 6.6
       
       Diffstat:
         M dwm.suckless.org/patches/bardwmlog… |       0 
         A dwm.suckless.org/patches/bardwmlog… |      98 +++++++++++++++++++++++++++++++
         M dwm.suckless.org/patches/bardwmlog… |       3 ++-
       
       3 files changed, 100 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/dwm.suckless.org/patches/bardwmlogo/bardwmlogo_1.png b/dwm.suckless.org/patches/bardwmlogo/bardwmlogo_1.png
       Binary files differ.
 (DIR) diff --git a/dwm.suckless.org/patches/bardwmlogo/dwm-bardwmlogo-6.6.diff b/dwm.suckless.org/patches/bardwmlogo/dwm-bardwmlogo-6.6.diff
       @@ -0,0 +1,98 @@
       +From c0e147bf031f9c2638e2c192a97e2d200e4b74be Mon Sep 17 00:00:00 2001
       +From: Rizqi Nur Assyaufi <bandithijo@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
       +@@ -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);
       +@@ -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 *) = {
       +@@ -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));
       +@@ -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;
       +@@ -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
       +
 (DIR) diff --git a/dwm.suckless.org/patches/bardwmlogo/index.md b/dwm.suckless.org/patches/bardwmlogo/index.md
       @@ -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
        -------