all repos — st @ 048c54fd5b275ac54d7819020485b77e99fcc469

st (suckless terminal) config

Fix selecting clearing and BCE

The commit b78c5085f72 changed the st behaviour enabling BCE capability,
that means erase regions using background color. Problem comes when you
clear a region with a selection, because in this case the real mode of the
Glyph is not the value of term.line[y][x], due in drawregion we had enabled
the ATTR_REVERSE bit.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
Roberto E. Vargas Caballero k0ga@shike2.com
commit

048c54fd5b275ac54d7819020485b77e99fcc469

parent

6b03bb769a105f797bce40aa0258cf035266e7bf

1 files changed, 3 insertions(+), 1 deletions(-)

jump to
M st.cst.c

@@ -1410,7 +1410,7 @@ }

void tclearregion(int x1, int y1, int x2, int y2) { - int x, y, temp; + int x, y, temp, mask; if(x1 > x2) temp = x1, x1 = x2, x2 = temp;

@@ -1425,7 +1425,9 @@

for(y = y1; y <= y2; y++) { term.dirty[y] = 1; for(x = x1; x <= x2; x++) { + mask = selected(x, y) ? ATTR_REVERSE : 0; term.line[y][x] = term.c.attr; + term.line[y][x].mode ^= mask; memcpy(term.line[y][x].c, " ", 2); } }