Dear maintainer,
When a bell happens in a window that is not the current one, the caption
line is supposed to show the window title on a white background with
bold text. It was the case with screen version 4.
Nowadays the background is black, the text is not bold.
Here's my ~/.screenrc:
----------8<------------
altscreen on
backtick 0 10 60 sh -c 'read a b c _ < /proc/loadavg; env printf "%.2f %.2f %.2f" $a $b $c'
caption always "%{11;4} %Y-%02m-%02d %0c %{0;4}|%{14;4} %H %{0;4}|%{10;4} %0` %{0;4}|%{15;4} %L=%-Lw%{u ;4}%50>%n %t%{ }%+Lw %-05=%?%E %{15;4}C-A %?"
vbell off
startup_message off
defscrollback 10000
defdynamictitle off
defhstatus xterm
----------8<------------
How to reproduce:
Start a screen session with the caption line as indicated by the config
above.
Run two window in screen.
In the first one run: sleep 10 && echo -e "\a"
Then switch to the second window: C-a C-a
Wait for it...
The window where the bell occured is now on a black background, the text
is not bold.
As far as I can tell, most of the code is still there. The global
variable `renditions` has not changed in ansi.c:
uint64_t renditions[NUM_RENDS] = { 65529 /* =ub */ , 65531 /* =b */ , 65533 /* =u */ };
But the format for the renditions seems to have changed between the v4
and v5. It looks like the attributes are no longer is the low 16 bits
but in the bits 56 to 63 if I am to believe the evolution of the
function ApplyAttrColor in process.c.
I didn't try, but the fix might be as simple as fixing the `renditions`
array.
Best regards,
Celelibi