summaryrefslogtreecommitdiffstats
path: root/drw.h
diff options
context:
space:
mode:
authorMatt Hunter <m@lfurio.us>2026-01-17 23:02:28 -0500
committerMatt Hunter <m@lfurio.us>2026-01-17 23:14:26 -0500
commit4da63c93feab351ecc33d47a86c4ad06680d1ee3 (patch)
treed95dc9f4161ebf4f51b6adb01a62f94a79e71a7e /drw.h
parent1f4592f644d618656e7b405361fe8d1e09b0c451 (diff)
downloaddwm-4da63c93feab351ecc33d47a86c4ad06680d1ee3.tar.gz
dwm-4da63c93feab351ecc33d47a86c4ad06680d1ee3.zip
patch: alpha
Allow dwm to have translucent bars, while keeping all the text on it opaque, just like the alpha patch for st. By default dwm might make windows' borders transparent when using composit window manager (e.g. xcompmgr, picom). Alpha patch allows to make borders opaque. If all you want is to make borders opaque, you don't care about statusbar opacity and/or have problems applying alpha patch, then you might use fixborders patch instead.
Diffstat (limited to 'drw.h')
-rw-r--r--drw.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/drw.h b/drw.h
index bda06f9..8471065 100644
--- a/drw.h
+++ b/drw.h
@@ -20,6 +20,9 @@ typedef struct {
Display *dpy;
int screen;
Window root;
+ Visual *visual;
+ unsigned int depth;
+ Colormap cmap;
Drawable drawable;
GC gc;
Clr *scheme;
@@ -27,7 +30,7 @@ typedef struct {
} Drw;
/* Drawable abstraction */
-Drw *drw_create(Display *dpy, int screen, Window win, unsigned int w, unsigned int h);
+Drw *drw_create(Display *dpy, int screen, Window win, unsigned int w, unsigned int h, Visual *visual, unsigned int depth, Colormap cmap);
void drw_resize(Drw *drw, unsigned int w, unsigned int h);
void drw_free(Drw *drw);
@@ -39,9 +42,9 @@ unsigned int drw_fontset_getwidth_clamp(Drw *drw, const char *text, unsigned int
void drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned int *w, unsigned int *h);
/* Colorscheme abstraction */
-void drw_clr_create(Drw *drw, Clr *dest, const char *clrname);
+void drw_clr_create(Drw *drw, Clr *dest, const char *clrname, unsigned int alpha);
void drw_clr_free(Drw *drw, Clr *c);
-Clr *drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount);
+Clr *drw_scm_create(Drw *drw, const char *clrnames[], const unsigned int clralphas[], size_t clrcount);
void drw_scm_free(Drw *drw, Clr *scm, size_t clrcount);
/* Cursor abstraction */