[dev] dwm: drw_draw does too much

From: David Kennedy <dave-kennedy_AT_outlook.com>
Date: Fri, 27 Nov 2015 12:18:44 -0700

This part of the drawbar function is really confusing: if (m == selmon) { /* status is only drawn on selected monitor */                   w = TEXTW(stext); x = m->ww - w; if (x < xx) { x = xx; w = m->ww - xx; } drw_text(drw, x, 0, w, bh, stext, 0); } else x = m->ww; Why is it confusing? Because TEXTW is just an alias for drw_text: #define TEXTW(X) (drw_text(drw, 0, 0, 0, 0, (X)) + drw->fonts[0]->h) In other words, before calling drw_text (which needs to know the width of the thing to be drawn) on line 739, we call drw_text with no parameters on line 733 to get the width of the thing to be drawn. I think it would be better if another function was defined to get the width, and drw_text only had to draw the text. Then w could be a required parameter. Then again, drw_font_getexts_width already exists and could be used for this purpose. But it overlaps the functionality provided by drw_font_getexts. Maybe drw_font_getexts should be used wherever pixel dimensions are required. Thoughts? Should I just submit a patch?
Received on Fri Nov 27 2015 - 20:18:44 CET

This archive was generated by hypermail 2.3.0 : Fri Nov 27 2015 - 20:24:10 CET