It is necessary call to XSync if you want a good tput flash, because in other way you can not be sure that white screen will be shown. --- st.c | 1 + 1 file changed, 1 insertion(+)
@@ -2150,6 +2150,7 @@ redraw(void) {
struct timespec tv = {0, REDRAW_TIMEOUT * 1000};
tfulldirt();
draw();
+ XSync(xw.dpy, False); /* necessary for a good tput flash */
nanosleep(&tv, NULL);
}