diff options
| author | Matt Hunter <m@lfurio.us> | 2026-01-17 23:02:28 -0500 |
|---|---|---|
| committer | Matt Hunter <m@lfurio.us> | 2026-01-17 23:14:26 -0500 |
| commit | 4da63c93feab351ecc33d47a86c4ad06680d1ee3 (patch) | |
| tree | d95dc9f4161ebf4f51b6adb01a62f94a79e71a7e /drw.h | |
| parent | 1f4592f644d618656e7b405361fe8d1e09b0c451 (diff) | |
| download | dwm-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.h | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -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 */ |
