When a visible window other than the selected one receives a bell ('\a'), I expect its border to be redrawn immediately with the corresponding attributes (URGENT_ATTR). Currently this does not happen: the border will remain the same until draw_border() is eventually called as a result of other events, such as layout changing. The following patch is intended to fix this:
diff --git a/dvtm.c b/dvtm.c index 7170f3b..373767f 100644 --- a/dvtm.c +++ b/dvtm.c @@ -626,6 +626,8 @@ term_urgent_handler(Vt *term) { printf("\a"); fflush(stdout); drawbar(); + if (!isarrange(fullscreen) && sel != c && isvisible(c)) + draw_border(c); } static void