x11: add functions for cleaning up schemes and color - libsl - draw back-ends for dwm, dmenu, etc
(HTM) git clone git://git.codemadness.org/libsl
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 4ed4bfabdbb056b0ebe63fce54f7f72dad800f92
(DIR) parent 656de2a0c190e435c4d6e0948a8ed6103c4e5e9c
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 27 Sep 2025 12:06:53 +0200
x11: add functions for cleaning up schemes and color
unused for now. The X11 functions for freeing XColor sucks.
Diffstat:
M x11/drw.c | 22 ++++++++++++++++++++++
M x11/drw.h | 2 ++
2 files changed, 24 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/x11/drw.c b/x11/drw.c
@@ -132,6 +132,28 @@ drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount)
}
void
+drw_clr_free(Drw *drw, Clr *c)
+{
+ if (!drw || !c)
+ return;
+
+ /* c is typedef XColor Clr */
+ /* TODO: free XColor? */
+}
+
+void
+drw_scm_free(Drw *drw, Clr *scm, size_t clrcount)
+{
+ size_t i;
+
+ if (!drw || !scm)
+ return;
+
+ for (i = 0; i < clrcount; i++)
+ drw_clr_free(drw, &scm[i]);
+}
+
+void
drw_setfontset(Drw *drw, Fnt *set)
{
drw->fonts = set;
(DIR) diff --git a/x11/drw.h b/x11/drw.h
@@ -41,7 +41,9 @@ void drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned in
/* Colorscheme abstraction */
void drw_clr_create(Drw *drw, Clr *dest, const char *clrname);
+void drw_clr_free(Drw *drw, Clr *c);
Clr *drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount);
+void drw_scm_free(Drw *drw, Clr *scm, size_t clrcount);
/* Cursor abstraction */
Cur *drw_cur_create(Drw *drw, int shape);