Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Use LEN(dc.col) instead of LEN(colorname).
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
bf5b675
..
7f08748
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-158,8
+158,7
@@
enum escape_state {
enum window_state {
WIN_VISIBLE = 1,
enum window_state {
WIN_VISIBLE = 1,
- WIN_REDRAW = 2,
- WIN_FOCUSED = 4
+ WIN_FOCUSED = 2
};
enum selection_type {
};
enum selection_type {
@@
-1459,7
+1458,7
@@
treset(void) {
term.top = 0;
term.bot = term.row - 1;
term.mode = MODE_WRAP;
term.top = 0;
term.bot = term.row - 1;
term.mode = MODE_WRAP;
- memset(term.trantbl,
sizeof(term.trantbl), CS_USA
);
+ memset(term.trantbl,
CS_USA, sizeof(term.trantbl)
);
term.charset = 0;
for(i = 0; i < 2; i++) {
term.charset = 0;
for(i = 0; i < 2; i++) {
@@
-2504,7
+2503,6
@@
tstrsequence(uchar c) {
strreset();
strescseq.type = c;
term.esc |= ESC_STR;
strreset();
strescseq.type = c;
term.esc |= ESC_STR;
- return;
}
void
}
void
@@
-2586,7
+2584,6
@@
tcontrolcode(uchar ascii) {
}
/* only CAN, SUB, \a and C1 chars interrupt a sequence */
term.esc &= ~(ESC_STR_END|ESC_STR);
}
/* only CAN, SUB, \a and C1 chars interrupt a sequence */
term.esc &= ~(ESC_STR_END|ESC_STR);
- return;
}
/*
}
/*
@@
-2914,7
+2911,7
@@
xloadcols(void) {
}
/* load colors [0-15] and [256-LEN(colorname)] (config.h) */
}
/* load colors [0-15] and [256-LEN(colorname)] (config.h) */
- for(i = 0; i < LEN(
colorname
); i++) {
+ for(i = 0; i < LEN(
dc.col
); i++) {
if(!colorname[i])
continue;
if(!XftColorAllocName(xw.dpy, xw.vis, xw.cmap, colorname[i], &dc.col[i])) {
if(!colorname[i])
continue;
if(!XftColorAllocName(xw.dpy, xw.vis, xw.cmap, colorname[i], &dc.col[i])) {
@@
-2945,7
+2942,7
@@
xsetcolorname(int x, const char *name) {
XRenderColor color = { .alpha = 0xffff };
Color ncolor;
XRenderColor color = { .alpha = 0xffff };
Color ncolor;
- if(!BETWEEN(x, 0, LEN(
colorname
)))
+ if(!BETWEEN(x, 0, LEN(
dc.col
)))
return 1;
if(!name) {
return 1;
if(!name) {
@@
-3741,12
+3738,6
@@
drawregion(int x1, int y1, int x2, int y2) {
void
expose(XEvent *ev) {
void
expose(XEvent *ev) {
- XExposeEvent *e = &ev->xexpose;
-
- if(xw.state & WIN_REDRAW) {
- if(!e->count)
- xw.state &= ~WIN_REDRAW;
- }
redraw();
}
redraw();
}
@@
-3754,12
+3745,7
@@
void
visibility(XEvent *ev) {
XVisibilityEvent *e = &ev->xvisibility;
visibility(XEvent *ev) {
XVisibilityEvent *e = &ev->xvisibility;
- if(e->state == VisibilityFullyObscured) {
- xw.state &= ~WIN_VISIBLE;
- } else if(!(xw.state & WIN_VISIBLE)) {
- /* need a full redraw for next Expose, not just a buf copy */
- xw.state |= WIN_VISIBLE | WIN_REDRAW;
- }
+ MODBIT(xw.state, e->state != VisibilityFullyObscured, WIN_VISIBLE);
}
void
}
void
@@
-3992,7
+3978,7
@@
run(void) {
clock_gettime(CLOCK_MONOTONIC, &now);
drawtimeout.tv_sec = 0;
clock_gettime(CLOCK_MONOTONIC, &now);
drawtimeout.tv_sec = 0;
- drawtimeout.tv_nsec =
(1000/xfps) * 1E6
;
+ drawtimeout.tv_nsec =
(1000 * 1E6)/ xfps
;
tv = &drawtimeout;
dodraw = 0;
tv = &drawtimeout;
dodraw = 0;
@@
-4003,8
+3989,7
@@
run(void) {
dodraw = 1;
}
deltatime = TIMEDIFF(now, last);
dodraw = 1;
}
deltatime = TIMEDIFF(now, last);
- if(deltatime > (xev? (1000/xfps) : (1000/actionfps))
- || deltatime < 0) {
+ if(deltatime > 1000 / (xev ? xfps : actionfps)) {
dodraw = 1;
last = now;
}
dodraw = 1;
last = now;
}