enum window_state {
WIN_VISIBLE = 1,
- WIN_REDRAW = 2,
- WIN_FOCUSED = 4
+ WIN_FOCUSED = 2
};
enum selection_type {
return LIMIT(y, 0, term.row-1);
}
-int tlinelen(int y) {
+int
+tlinelen(int y) {
int i = term.col;
if(term.line[y][i - 1].mode & ATTR_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++) {
strreset();
strescseq.type = c;
term.esc |= ESC_STR;
- return;
}
void
}
/* only CAN, SUB, \a and C1 chars interrupt a sequence */
term.esc &= ~(ESC_STR_END|ESC_STR);
- return;
}
/*
void
expose(XEvent *ev) {
- XExposeEvent *e = &ev->xexpose;
-
- if(xw.state & WIN_REDRAW) {
- if(!e->count)
- xw.state &= ~WIN_REDRAW;
- }
redraw();
}
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
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;
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;
}
if(argc > 0) {
/* eat all remaining arguments */
opt_cmd = argv;
- if(!opt_title)
+ if(!opt_title && !opt_line)
opt_title = basename(xstrdup(argv[0]));
}
setlocale(LC_CTYPE, "");