Introduction
Introduction Statistics Contact Development Disclaimer Help
tFixing a off-by-one error in the penultimate row drawing. - st - [fork] custom…
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit ac4c6da4ef9b05e2886c26272745effc4f975042
parent 4d37763ee767d0c8bd8425744c3375817967dda3
Author: Christoph Lohmann <[email protected]>
Date: Sat, 22 Dec 2012 13:39:27 +0100
Fixing a off-by-one error in the penultimate row drawing.
Diffstat:
M st.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/st.c b/st.c
t@@ -2248,7 +2248,7 @@ xtermclear(int col1, int row1, int col2, int row2) {
void
xclear(int x1, int y1, int x2, int y2) {
XftDrawRect(xw.draw,
- &dc.col[IS_SET(MODE_REVERSE) ? defaultfg : defaultbg],
+ &dc.col[IS_SET(MODE_REVERSE)? defaultfg : defaultbg],
x1, y1, x2-x1, y2-y1);
}
t@@ -2515,8 +2515,11 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, …
}
}
- if(base.mode & ATTR_REVERSE)
- temp = fg, fg = bg, bg = temp;
+ if(base.mode & ATTR_REVERSE) {
+ temp = fg;
+ fg = bg;
+ bg = temp;
+ }
XftTextExtentsUtf8(xw.dpy, font->set, (FcChar8 *)s, bytelen,
&extents);
t@@ -2525,11 +2528,11 @@ xdraws(char *s, Glyph base, int x, int y, int charlen,…
/* Intelligent cleaning up of the borders. */
if(x == 0) {
xclear(0, (y == 0)? 0 : winy, borderpx,
- winy + xw.ch + ((y == term.row-1)? xw.h : 0));
+ winy + xw.ch + ((y >= term.row-1)? xw.h : 0));
}
- if(x + charlen >= term.col-1) {
+ if(x + charlen >= term.col)
xclear(winx + width, (y == 0)? 0 : winy, xw.w,
- ((y == term.row-1)? xw.h : (winy + xw.ch)));
+ ((y >= term.row-1)? xw.h : (winy + xw.ch)));
}
if(y == 0)
xclear(winx, 0, winx + width, borderpx);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.