[Top][All Lists]

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

Re: Colour remnants from previous program

From: Gilles Roy
Subject: Re: Colour remnants from previous program
Date: Mon, 7 May 2007 08:35:42 -0400
User-agent: Mutt/1.5.15 (2007-04-06)

On Sun, May 06, 2007 at 09:52:28AM -0400, cga2000 wrote:
   Actually, I'm guessing it's a bug in the terminal emulator and how it
   handles windows that aren't an integer multiple of the character width.

Yes, but then the OP would likely argue that since it only occurs when
screen is running .. the problem is not with the emulator.

Well, it occurs with both xfce4-terminal and gnome-terminal, when they are in full screen mode (i.e. no window border). It doesn't seem to occur if I put a border around the terminal programs.

My whole system has recently changed, so it could be almost anything. I would have guessed it's the terminal emulator, but it seemed strange that the problem doesn't occur unless I also have screen running.

   The leftover pixels are parts of the character background color for
   the status lines in Mutt.

   I imagine you can modulate the effect by telling Mutt different
   things about the terminal, such as whether the terminal fills w/
the background color when erasing (bce).

I thought that the only way you could tell mutt about your terminal's
capabilities was via your termcap/terminfo entry.  But that's just
because I don't remember seeing anything in the .muttrc commands that
looked like it would let you override/extend what's specified via
whatever entry is pointed to by $TERM.  Could very well be that there is
such a command .. and I missed it because I never looked for it .. Or
there could be some new stuff in versions more recent than what I'm
running .. possibly to address issues relative to character width.

I've looked through the mutt docs and didn't see anything that could help me. If I run Vim in CLI mode, it also has status bars but the problem doesn't occur. However, there is a difference between Vim and Mutt. In Mutt, the status bars don't actually reach the very edge of the screen (i.e. they don't occupy the 1/2 character of extra space). The place where they don't occupy is where the colour remnant is left behind. In Vim, the status bar occupies the extra bit of character space.

I also just noticed that when I first start Mutt, the bit of extra space isn't occupied, but when I scroll down or up and hit something that causes Mutt to occupy the status bar (i.e. it prints "You are on the last message") the Mutt status bars get longer by the half character. When I leave mutt they remain. Actually, I can also get the scrollbar that highlights my current message to leave something behind while I am in Mutt (same thing, once Mutt prints a warning messages). I doesn't occur when I switch screens within Mutt, only when Mutt prints a warning (it seems to print a warning instead of issuing a visual bell).

   But that won't change the fundamental issue that some operations
   have the terminal draw in the right 2-3 pixels and others don't.  I
   don't see $TERM or $TERMCAP changing that.

I would definitely like to learn more about this. Why would the terminal
emulator try to address anything that's not a multiple of a cell in the
first place?  Wouldn't that be a capability of the terminal .. sub-cell
addressing .. and as such shouldn't there be some terminfo stuff to
describe it .. so that it can be handled transparently by applications
when running on different emulators.

I'll keep trying things. I will follow up if I find out more.


reply via email to

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