aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--st.c21
-rw-r--r--st.info3
2 files changed, 8 insertions, 16 deletions
diff --git a/st.c b/st.c
index b9d30a7..e1139ec 100644
--- a/st.c
+++ b/st.c
@@ -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
350static void die(const char *, ...); 348static void die(const char *, ...);
351static void draw(void); 349static void draw(void);
352static void redraw(int); 350static void redraw(void);
353static void drawregion(int, int, int, int); 351static void drawregion(int, int, int, int);
354static void execsh(void); 352static void execsh(void);
355static void sigchld(int); 353static 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
3560void 3558void
3561redraw(int timeout) { 3559redraw(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
3573void 3564void
@@ -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
3640void 3631void
diff --git a/st.info b/st.info
index 3b754db..99c066d 100644
--- a/st.info
+++ b/st.info
@@ -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,