[Remind-Fans] Odd visual artifacts (missing dividers) in calendar view in xterm

Tim Chase remind at tim.thechases.com
Sun Feb 26 21:47:58 EST 2023


Wanting to see just the days-of-the-week where things fell for week,
I did

  $ remind -q -c+ /dev/null

which worked as expected, but certain bits of the visual grid was
missing lines, notably the last vertical bar at the end of the row
containing the weekday-names and the last vertical bar at the end
of the rows containing the dates

+----------+----------+----------+----------+----------+----------+----------+
|  Sunday‎  |  Monday‎  | Tuesday‎  |Wednesday‎ | Thursday‎ |  Friday‎  | Saturd
+----------+----------+----------+----------+----------+----------+----------+
|26 Feb ‎** |27 Feb ‎   |28 Feb ‎   |1 Mar ‎    |2 Mar ‎    |3 Mar ‎    |4 Mar ‎
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
|          |          |          |          |          |          |          |
+----------+----------+----------+----------+----------+----------+----------+

Based on my testing, I think I've tracked down the cause to xterm
(it doesn't manifest in rxvt or st) when the calendar scrolls the
screen up.  In an 80x25 xterm, if I issue

  $ clear
  $ remind -q -c+4 /dev/null

it triggers because the 4th week causes the lines to scroll, making
the first 3 weeks correctly terminated but the 4th week lack the
last bar on the "25 Mar" box.  Similarly, if I

  $ seq $LINES # to get the cursor to the bottom of the screen
  $ remind -q -c+ /dev/null

I get the missing last bar.

FWIW, this happens with both `-c+` and `-cu+` (fancy line-drawing)

Strangely, if I pipe it to less(1), it renders one screen-full
correctly, but then mangles them if I scroll back:

  $ clear
  $ remind -q -c+20 | less
  [note they're good]
  <control+L to refresh>
  [now they're missing]

So this is starting to feel more like an xterm issue but I wanted
to make sure there's nothing hinky that remind(1) is doing here
that I should be aware of.

-tim







More information about the Remind-fans mailing list