Adding separate statuscolors bar module ref. #180
This commit is contained in:
@@ -1,3 +1,55 @@
|
||||
int
|
||||
width_statuscolors(Bar *bar, BarArg *a)
|
||||
{
|
||||
#if BAR_STATUSCMD_PATCH
|
||||
return textw_wosc(rawstext);
|
||||
#else
|
||||
return textw_wosc(stext);
|
||||
#endif // BAR_STATUSCMD_PATCH
|
||||
}
|
||||
|
||||
#if BAR_EXTRASTATUS_PATCH
|
||||
int
|
||||
width_statuscolors_es(Bar *bar, BarArg *a)
|
||||
{
|
||||
#if BAR_STATUSCMD_PATCH
|
||||
return textw_wosc(rawestext);
|
||||
#else
|
||||
return textw_wosc(estext);
|
||||
#endif // BAR_STATUSCMD_PATCH
|
||||
}
|
||||
#endif // BAR_EXTRASTATUS_PATCH
|
||||
|
||||
int
|
||||
draw_statuscolors(Bar *bar, BarArg *a)
|
||||
{
|
||||
#if BAR_STATUSCMD_PATCH
|
||||
return draw_wosc(bar, a, rawstext);
|
||||
#else
|
||||
return draw_wosc(bar, a, stext);
|
||||
#endif // BAR_STATUSCMD_PATCH
|
||||
}
|
||||
|
||||
#if BAR_EXTRASTATUS_PATCH
|
||||
int
|
||||
draw_statuscolors_es(Bar *bar, BarArg *a)
|
||||
{
|
||||
#if BAR_STATUSCMD_PATCH
|
||||
return draw_wosc(bar, a, rawestext);
|
||||
#else
|
||||
return draw_wosc(bar, a, estext);
|
||||
#endif // BAR_STATUSCMD_PATCH
|
||||
}
|
||||
#endif // BAR_EXTRASTATUS_PATCH
|
||||
|
||||
#if !BAR_STATUSCMD_PATCH
|
||||
int
|
||||
click_statuscolors(Bar *bar, Arg *arg, BarArg *a)
|
||||
{
|
||||
return ClkStatusText;
|
||||
}
|
||||
#endif // BAR_STATUSCMD_PATCH
|
||||
|
||||
int
|
||||
textw_wosc(char *s)
|
||||
{
|
||||
@@ -22,3 +74,29 @@ textw_wosc(char *s)
|
||||
return sw;
|
||||
}
|
||||
|
||||
int
|
||||
draw_wosc(Bar *bar, BarArg *a, char *s)
|
||||
{
|
||||
char *ts = s;
|
||||
char *tp = s;
|
||||
int tx = 0;
|
||||
char ctmp;
|
||||
|
||||
while (1) {
|
||||
if ((unsigned int)*ts > LENGTH(colors)) {
|
||||
ts++;
|
||||
continue;
|
||||
}
|
||||
ctmp = *ts;
|
||||
*ts = '\0';
|
||||
drw_text(drw, a->x + tx, a->y, a->w - tx, a->h, 0, tp, 0, True);
|
||||
tx += TEXTW(tp) - lrpad;
|
||||
if (ctmp == '\0')
|
||||
break;
|
||||
drw_setscheme(drw, scheme[(unsigned int)(ctmp-1)]);
|
||||
*ts = ctmp;
|
||||
tp = ++ts;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
Reference in New Issue
Block a user