diff options
-rw-r--r-- | st.c | 21 | ||||
-rw-r--r-- | st.info | 3 |
2 files changed, 8 insertions, 16 deletions
@@ -63,8 +63,6 @@ char *argv0; | |||
63 | #define XK_NO_MOD 0 | 63 | #define XK_NO_MOD 0 |
64 | #define XK_SWITCH_MOD (1<<13) | 64 | #define XK_SWITCH_MOD (1<<13) |
65 | 65 | ||
66 | #define REDRAW_TIMEOUT (80*1000) /* 80 ms */ | ||
67 | |||
68 | /* macros */ | 66 | /* macros */ |
69 | #define MIN(a, b) ((a) < (b) ? (a) : (b)) | 67 | #define MIN(a, b) ((a) < (b) ? (a) : (b)) |
70 | #define MAX(a, b) ((a) < (b) ? (b) : (a)) | 68 | #define MAX(a, b) ((a) < (b) ? (b) : (a)) |
@@ -349,7 +347,7 @@ typedef struct { | |||
349 | 347 | ||
350 | static void die(const char *, ...); | 348 | static void die(const char *, ...); |
351 | static void draw(void); | 349 | static void draw(void); |
352 | static void redraw(int); | 350 | static void redraw(void); |
353 | static void drawregion(int, int, int, int); | 351 | static void drawregion(int, int, int, int); |
354 | static void execsh(void); | 352 | static void execsh(void); |
355 | static void sigchld(int); | 353 | static void sigchld(int); |
@@ -1826,7 +1824,7 @@ tsetmode(bool priv, bool set, int *args, int narg) { | |||
1826 | mode = term.mode; | 1824 | mode = term.mode; |
1827 | MODBIT(term.mode, set, MODE_REVERSE); | 1825 | MODBIT(term.mode, set, MODE_REVERSE); |
1828 | if(mode != term.mode) | 1826 | if(mode != term.mode) |
1829 | redraw(REDRAW_TIMEOUT); | 1827 | redraw(); |
1830 | break; | 1828 | break; |
1831 | case 6: /* DECOM -- Origin */ | 1829 | case 6: /* DECOM -- Origin */ |
1832 | MODBIT(term.c.state, set, CURSOR_ORIGIN); | 1830 | MODBIT(term.c.state, set, CURSOR_ORIGIN); |
@@ -2200,7 +2198,7 @@ strhandle(void) { | |||
2200 | * TODO if defaultbg color is changed, borders | 2198 | * TODO if defaultbg color is changed, borders |
2201 | * are dirty | 2199 | * are dirty |
2202 | */ | 2200 | */ |
2203 | redraw(0); | 2201 | redraw(); |
2204 | } | 2202 | } |
2205 | return; | 2203 | return; |
2206 | } | 2204 | } |
@@ -3093,7 +3091,7 @@ xzoomabs(const Arg *arg) { | |||
3093 | xunloadfonts(); | 3091 | xunloadfonts(); |
3094 | xloadfonts(usedfont, arg->i); | 3092 | xloadfonts(usedfont, arg->i); |
3095 | cresize(0, 0); | 3093 | cresize(0, 0); |
3096 | redraw(0); | 3094 | redraw(); |
3097 | xhints(); | 3095 | xhints(); |
3098 | } | 3096 | } |
3099 | 3097 | ||
@@ -3558,16 +3556,9 @@ xresettitle(void) { | |||
3558 | } | 3556 | } |
3559 | 3557 | ||
3560 | void | 3558 | void |
3561 | redraw(int timeout) { | 3559 | redraw(void) { |
3562 | struct timespec tv = {0, timeout * 1000}; | ||
3563 | |||
3564 | tfulldirt(); | 3560 | tfulldirt(); |
3565 | draw(); | 3561 | draw(); |
3566 | |||
3567 | if(timeout > 0) { | ||
3568 | nanosleep(&tv, NULL); | ||
3569 | XSync(xw.dpy, False); /* necessary for a good tput flash */ | ||
3570 | } | ||
3571 | } | 3562 | } |
3572 | 3563 | ||
3573 | void | 3564 | void |
@@ -3634,7 +3625,7 @@ expose(XEvent *ev) { | |||
3634 | if(!e->count) | 3625 | if(!e->count) |
3635 | xw.state &= ~WIN_REDRAW; | 3626 | xw.state &= ~WIN_REDRAW; |
3636 | } | 3627 | } |
3637 | redraw(0); | 3628 | redraw(); |
3638 | } | 3629 | } |
3639 | 3630 | ||
3640 | void | 3631 | void |
@@ -32,7 +32,7 @@ st| simpleterm, | |||
32 | el=\E[K, | 32 | el=\E[K, |
33 | el1=\E[1K, | 33 | el1=\E[1K, |
34 | enacs=\E)0, | 34 | enacs=\E)0, |
35 | flash=\E[?5h\E[?5l, | 35 | flash=\E[?5h$<80/>\E[?5l, |
36 | fsl=^G, | 36 | fsl=^G, |
37 | home=\E[H, | 37 | home=\E[H, |
38 | hpa=\E[%i%p1%dG, | 38 | hpa=\E[%i%p1%dG, |
@@ -150,6 +150,7 @@ st| simpleterm, | |||
150 | mir, | 150 | mir, |
151 | msgr, | 151 | msgr, |
152 | ncv#3, | 152 | ncv#3, |
153 | npc, | ||
153 | op=\E[39;49m, | 154 | op=\E[39;49m, |
154 | pairs#64, | 155 | pairs#64, |
155 | mc0=\E[i, | 156 | mc0=\E[i, |