annotate config/dwm/patches/dwm-bardwmlogo-6.6.diff @ 3:84d6074a5566

Fix: forgot to hg add
author Yasuri <yasuri@charliesmp.net>
date Sat, 03 Oct 2026 19:15:32 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
1 From c0e147bf031f9c2638e2c192a97e2d200e4b74be Mon Sep 17 00:00:00 2001
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
2 From: Rizqi Nur Assyaufi <bandithijo@gmail.com>
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
3 Date: Fri, 15 Aug 2025 20:49:26 +0800
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
4 Subject: [PATCH] Add DWM logo on left bar before tags
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
5
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
6 This patch adds a DWM logo to the left side of the status bar, positioned
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
7 before the tags, for aesthetic or branding purposes.
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
8
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
9 Defines a fixed logo width (`dwmlogowdth = 54`) and adjusts tag rendering to
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
10 prevent overlap.
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
11
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
12 Uses multiple `drw_rect()` calls to render a pixel-art style "dwm" logo using
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
13 rectangles.
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
14
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
15 This patch is purely visual and does not impact DWM's core functionality or
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
16 performance. It may appeal to users who want a more personalized or distinctive
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
17 appearance for their window manager.
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
18
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
19 ---
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
20 dwm.c | 34 +++++++++++++++++++++++++++++++++-
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
21 1 file changed, 33 insertions(+), 1 deletion(-)
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
22
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
23 diff --git a/dwm.c b/dwm.c
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
24 index 1443802..c9b2858 100644
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
25 --- a/dwm.c
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
26 +++ b/dwm.c
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
27 @@ -140,6 +140,10 @@ typedef struct {
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
28 int monitor;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
29 } Rule;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
30
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
31 +typedef struct {
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
32 + int x, y, w, h;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
33 +} DwmLogo;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
34 +
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
35 /* function declarations */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
36 static void applyrules(Client *c);
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
37 static int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact);
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
38 @@ -240,6 +244,7 @@ static int screen;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
39 static int sw, sh; /* X display screen geometry width, height */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
40 static int bh; /* bar height */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
41 static int lrpad; /* sum of left and right padding for text */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
42 +static int dwmlogowdth = 54; /* dwm logo width */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
43 static int (*xerrorxlib)(Display *, XErrorEvent *);
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
44 static unsigned int numlockmask = 0;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
45 static void (*handler[LASTEvent]) (XEvent *) = {
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
46 @@ -432,6 +437,7 @@ buttonpress(XEvent *e)
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
47 }
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
48 if (ev->window == selmon->barwin) {
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
49 i = x = 0;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
50 + x = dwmlogowdth; /* dwm logo width */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
51 do
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
52 x += TEXTW(tags[i]);
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
53 while (ev->x >= x && ++i < LENGTH(tags));
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
54 @@ -698,6 +704,7 @@ void
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
55 drawbar(Monitor *m)
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
56 {
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
57 int x, w, tw = 0;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
58 + int stroke = 4, letterHeight = bh - 4;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
59 int boxs = drw->fonts->h / 9;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
60 int boxw = drw->fonts->h / 6 + 2;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
61 unsigned int i, occ = 0, urg = 0;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
62 @@ -718,7 +725,32 @@ drawbar(Monitor *m)
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
63 if (c->isurgent)
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
64 urg |= c->tags;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
65 }
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
66 - x = 0;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
67 +
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
68 + /* use colored scheme for visibility */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
69 + drw_setscheme(drw, scheme[SchemeNorm]);
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
70 +
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
71 + /* draw dark background for logo */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
72 + drw_rect(drw, 0, 0, dwmlogowdth, bh, 1, 1);
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
73 +
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
74 + /* draw dwm logo */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
75 + const DwmLogo dwmLogo[] = {
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
76 + { 0, 9, stroke, letterHeight / 2 }, /* d: left vertical */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
77 + { 0, 15, 35, stroke }, /* d: bottom horizontal */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
78 + { 13, 1, stroke, letterHeight }, /* d: right vertical */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
79 + { 0, 7, 15, stroke }, /* d: top horizontal */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
80 + { 22, 7, stroke, letterHeight / 2 }, /* w: center vertical */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
81 + { 31, 7, stroke, letterHeight / 2 }, /* w: right vertical */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
82 + { 31, 7, 22, stroke }, /* m: top horizontal */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
83 + { 40, 11, stroke, letterHeight / 2 }, /* m: center vertical */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
84 + { 49, 11, stroke, letterHeight / 2 } /* m: right vertical */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
85 + };
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
86 +
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
87 + for (int i = 0; i < LENGTH(dwmLogo); i++) {
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
88 + drw_rect(drw, dwmLogo[i].x, dwmLogo[i].y, dwmLogo[i].w, dwmLogo[i].h, 1, 0);
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
89 + }
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
90 +
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
91 + /* start drawing tags after logo */
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
92 + x = dwmlogowdth;
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
93 for (i = 0; i < LENGTH(tags); i++) {
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
94 w = TEXTW(tags[i]);
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
95 drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]);
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
96 --
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
97 2.50.1
84d6074a5566 Fix: forgot to hg add
Yasuri <yasuri@charliesmp.net>
parents:
diff changeset
98