[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Blinking text: %{+B} attribute.

From: David Chanters
Subject: Blinking text: %{+B} attribute.
Date: Sun, 29 Jun 2008 11:47:52 +0100

hi all,

i asked a similar question on the rxvt-unicode mailing list, and
whilst they were helpful, i think i ultimately need to ask here, since
all avenues seem to lead back to GNU screen.  :)

i'm using the %{ +B} attribute in places on my hardstatus.  Screen
runs inside rxvt-unicode (urxvt) and it isn't working properly at all
under certain conditions when I ask for blinking (flashing) text.

To take an example which does work, I start urxvt in the following way:

urxvt -fg white -bg black

I then start screen:

screen -c /dev/null

(i'm using /dev/null for illustrative purposes only here.)

>From within screen:

^A :

To give me a prompt, into which I type:

hardstatus alwayslastline '%-w %{+B}%n %t %+w'

This uses reverse video to set the hardstatus - and the window title
and number will sit there blinking away quite happily under urxvt.

However, and this is the crucial part (for those of you playing along
at home :P), if we set the background color of the hardstatus, as in:

hardstatus alwayslastline '%{= Gb}%-w %{+B}%n %t %+w'

Then the blinking stops entirely under urxvt.

Repeating the exact same tests above running under XTerm instead,
yields correct behaviour; the title and number of all windows flashes.

Now, i said to you i asked about this on the rxvt-unicode mailing
list.  the reply i got from the author was quite useful.  a relevant
part of that conversation is here (my initial question is prefixed
with ">"):

    > So my question is:  how does rxvt-unicode and XTerm compare in terms
    > of how they're told to implement blinking text, and is there anything
    > i can do to make them the same in order to fix my problem?

    They implement blinking text effectively identically (i.e. same command
    sequence etc. but different blinking frequency and of course it is
    implemented differently, but from a suer standpoint they work identically).

    Your problem is gnu screen not outputting the sequence, and that's likely
    a configuration issue.

So the question is then:  what is it gnu screen outputs to make the
text blinkable?  i had a look at the source, and the only thing i
found was the definition of "A_BL" which just seems to be bitwise ORed
at various points to be used by some tput() function in ansi.c i think
it was --- i thought maybe there were escape sequences involved but
couldn't find them anywhere.

There's obviously something gone awry in screen since xterm is the
only terminal emulator to properly handle the blinking escape
sequences screen sends it.  Running the same tests above under
XFCE4-termina, gnome-terminal, rox-terminal, eterm, all yield the same
result as urxvt does --- change the color of the hardstatus away from
reverse video and no more blinking text.

i'd be happy to help with this issue, providing i knew where to look!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]