Introduction
Introduction Statistics Contact Development Disclaimer Help
tLet curses do the dirty work for flash - st - [fork] customized build of st, t…
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit 1b514048b254827f1a83c05e1b2a2428bf31924e
parent 3604445ffc6ff1bfdfc7614771ca659e423b404b
Author: Ivan Delalande <[email protected]>
Date: Sun, 15 Feb 2015 00:34:03 +0100
Let curses do the dirty work for flash
Use the terminfo delay syntax ($<x>) in our flash capability to avoid
hardcoding a fixed delay in redraw() when called from tsetmode() with
DECSCNM.
We need to turn on the npc capability so that delays are made with
xon/xoff instead of padding characters.
Diffstat:
M st.c | 21 ++++++---------------
M st.info | 3 ++-
2 files changed, 8 insertions(+), 16 deletions(-)
---
diff --git a/st.c b/st.c
t@@ -63,8 +63,6 @@ char *argv0;
#define XK_NO_MOD 0
#define XK_SWITCH_MOD (1<<13)
-#define REDRAW_TIMEOUT (80*1000) /* 80 ms */
-
/* macros */
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define MAX(a, b) ((a) < (b) ? (b) : (a))
t@@ -349,7 +347,7 @@ typedef struct {
static void die(const char *, ...);
static void draw(void);
-static void redraw(int);
+static void redraw(void);
static void drawregion(int, int, int, int);
static void execsh(void);
static void sigchld(int);
t@@ -1826,7 +1824,7 @@ tsetmode(bool priv, bool set, int *args, int narg) {
mode = term.mode;
MODBIT(term.mode, set, MODE_REVERSE);
if(mode != term.mode)
- redraw(REDRAW_TIMEOUT);
+ redraw();
break;
case 6: /* DECOM -- Origin */
MODBIT(term.c.state, set, CURSOR_ORIGIN);
t@@ -2200,7 +2198,7 @@ strhandle(void) {
* TODO if defaultbg color is changed, borders
* are dirty
*/
- redraw(0);
+ redraw();
}
return;
}
t@@ -3093,7 +3091,7 @@ xzoomabs(const Arg *arg) {
xunloadfonts();
xloadfonts(usedfont, arg->i);
cresize(0, 0);
- redraw(0);
+ redraw();
xhints();
}
t@@ -3558,16 +3556,9 @@ xresettitle(void) {
}
void
-redraw(int timeout) {
- struct timespec tv = {0, timeout * 1000};
-
+redraw(void) {
tfulldirt();
draw();
-
- if(timeout > 0) {
- nanosleep(&tv, NULL);
- XSync(xw.dpy, False); /* necessary for a good tput flash */
- }
}
void
t@@ -3634,7 +3625,7 @@ expose(XEvent *ev) {
if(!e->count)
xw.state &= ~WIN_REDRAW;
}
- redraw(0);
+ redraw();
}
void
diff --git a/st.info b/st.info
t@@ -32,7 +32,7 @@ st| simpleterm,
el=\E[K,
el1=\E[1K,
enacs=\E)0,
- flash=\E[?5h\E[?5l,
+ flash=\E[?5h$<80/>\E[?5l,
fsl=^G,
home=\E[H,
hpa=\E[%i%p1%dG,
t@@ -150,6 +150,7 @@ st| simpleterm,
mir,
msgr,
ncv#3,
+ npc,
op=\E[39;49m,
pairs#64,
mc0=\E[i,
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.