Include colored text in the tab completed text as well.
This commit is contained in:
parent
d750f3a78a
commit
364020aa2c
|
@ -40,6 +40,7 @@ void drawhighlights(struct item *item, int x, int y, int w, int p, const char *i
|
||||||
|
|
||||||
int drawitemtext(struct item *item, int x, int y, int w) {
|
int drawitemtext(struct item *item, int x, int y, int w) {
|
||||||
char buffer[MAXITEMLENGTH]; // buffer containing item text
|
char buffer[MAXITEMLENGTH]; // buffer containing item text
|
||||||
|
char *tbuffer = malloc(MAXITEMLENGTH+1);
|
||||||
int leftpadding = sp.lrpad / 2; // padding
|
int leftpadding = sp.lrpad / 2; // padding
|
||||||
int wr, rd; // character
|
int wr, rd; // character
|
||||||
int fg = 7; // foreground
|
int fg = 7; // foreground
|
||||||
|
@ -147,6 +148,7 @@ int drawitemtext(struct item *item, int x, int y, int w) {
|
||||||
w -= item->text[rd + alen];
|
w -= item->text[rd + alen];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
strcat(tbuffer, buffer);
|
||||||
apply_fribidi(buffer);
|
apply_fribidi(buffer);
|
||||||
draw_text(draw, x, y, MIN(w, TEXTW(buffer) - sp.lrpad) + leftpadding, sp.bh, leftpadding, isrtl ? fribidi_text : buffer, 0, pango_item ? True : False, fgcol, bgcol, fga, bga);
|
draw_text(draw, x, y, MIN(w, TEXTW(buffer) - sp.lrpad) + leftpadding, sp.bh, leftpadding, isrtl ? fribidi_text : buffer, 0, pango_item ? True : False, fgcol, bgcol, fga, bga);
|
||||||
drawhighlights(item, x, y, MIN(w, TEXTW(buffer) - sp.lrpad) + leftpadding, leftpadding, isrtl ? fribidi_text : buffer);
|
drawhighlights(item, x, y, MIN(w, TEXTW(buffer) - sp.lrpad) + leftpadding, leftpadding, isrtl ? fribidi_text : buffer);
|
||||||
|
@ -266,13 +268,13 @@ int drawitemtext(struct item *item, int x, int y, int w) {
|
||||||
buffer[wr] = '\0';
|
buffer[wr] = '\0';
|
||||||
|
|
||||||
// now draw any non-colored text
|
// now draw any non-colored text
|
||||||
|
strcat(tbuffer, buffer);
|
||||||
apply_fribidi(buffer);
|
apply_fribidi(buffer);
|
||||||
int r = draw_text(draw, x, y, w, sp.bh, leftpadding, isrtl ? fribidi_text : buffer, 0, pango_item ? True : False, fgcol, bgcol, fga, bga);
|
int r = draw_text(draw, x, y, w, sp.bh, leftpadding, isrtl ? fribidi_text : buffer, 0, pango_item ? True : False, fgcol, bgcol, fga, bga);
|
||||||
if (!hidehighlight) drawhighlights(item, x, y, w, leftpadding, buffer);
|
if (!hidehighlight) drawhighlights(item, x, y, w, leftpadding, buffer);
|
||||||
|
|
||||||
// copy current buffer to item->clntext instead of item->text, this way SGR sequences aren't drawn
|
// copy current buffer to item->clntext instead of item->text, this way SGR sequences aren't drawn
|
||||||
item->clntext = malloc(sizeof(buffer));
|
item->clntext = tbuffer;
|
||||||
memcpy(item->clntext, buffer, sizeof(buffer));
|
|
||||||
|
|
||||||
if (!hidepowerline && powerlineitems && selitem) {
|
if (!hidepowerline && powerlineitems && selitem) {
|
||||||
if (itempwlstyle == 2) {
|
if (itempwlstyle == 2) {
|
||||||
|
|
Loading…
Reference in a new issue