You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.5 KiB
79 lines
1.5 KiB
#if !BAR_DWMBLOCKS_PATCH |
|
static const char statusexport[] = "export BUTTON=-;"; |
|
static int statuscmdn; |
|
static char lastbutton[] = "-"; |
|
#endif // BAR_DWMBLOCKS_PATCH |
|
|
|
int |
|
click_statuscmd(Bar *bar, Arg *arg, BarArg *a) |
|
{ |
|
return click_statuscmd_text(arg, a->x, rawstext); |
|
} |
|
|
|
#if BAR_EXTRASTATUS_PATCH |
|
int |
|
click_statuscmd_es(Bar *bar, Arg *arg, BarArg *a) |
|
{ |
|
return click_statuscmd_text(arg, a->x, rawestext); |
|
} |
|
#endif // BAR_EXTRASTATUS_PATCH |
|
|
|
int |
|
click_statuscmd_text(Arg *arg, int rel_x, char *text) |
|
{ |
|
int i = -1; |
|
int x = 0; |
|
char ch; |
|
#if BAR_DWMBLOCKS_PATCH |
|
statussig = -1; |
|
#else |
|
statuscmdn = 0; |
|
#endif // BAR_DWMBLOCKS_PATCH |
|
while (text[++i]) { |
|
if ((unsigned char)text[i] < ' ') { |
|
#if BAR_STATUSCOLORS_PATCH |
|
if (text[i] < 17) |
|
continue; |
|
#endif // BAR_STATUSCOLORS_PATCH |
|
ch = text[i]; |
|
text[i] = '\0'; |
|
#if BAR_STATUS2D_PATCH && !BAR_STATUSCOLORS_PATCH |
|
x += status2dtextlength(text); |
|
#else |
|
x += TEXTWM(text) - lrpad; |
|
#endif // BAR_STATUS2D_PATCH |
|
text[i] = ch; |
|
text += i+1; |
|
i = -1; |
|
#if BAR_DWMBLOCKS_PATCH |
|
if (x >= rel_x && statussig != -1) |
|
break; |
|
statussig = ch; |
|
#else |
|
if (x >= rel_x) |
|
break; |
|
if (ch <= LENGTH(statuscmds)) |
|
statuscmdn = ch; |
|
#endif // BAR_DWMBLOCKS_PATCH |
|
} |
|
} |
|
#if BAR_DWMBLOCKS_PATCH |
|
if (statussig == -1) |
|
statussig = 0; |
|
#endif // BAR_DWMBLOCKS_PATCH |
|
return ClkStatusText; |
|
} |
|
|
|
void |
|
copyvalidchars(char *text, char *rawtext) |
|
{ |
|
int i = -1, j = 0; |
|
|
|
while (rawtext[++i]) { |
|
if ((unsigned char)rawtext[i] >= ' ') { |
|
text[j++] = rawtext[i]; |
|
} |
|
} |
|
text[j] = '\0'; |
|
} |
|
|
|
|