dvdhrm / kmscon

Linux KMS/DRM based virtual Console Emulator
http://www.freedesktop.org/wiki/Software/kmscon
Other
433 stars 81 forks source link

Incomplete backgrounds in `vim` and `mutt` #19

Closed towolf closed 12 years ago

towolf commented 12 years ago

I don’t know if there’s a way to screenshot this, so here’s only a description to repro:

$ vim
:colo shine

kmscon doesn’t draw the background of fullscreen apps that set a non-back background color for the parts of the lines that have no foreground text. This is probably related to a reset of the background color that should not take place.

On the other hand I have this little script I wrote that works with background colors (The problem here is that cursor query returns a weird value, so it breaks): nyan.sh

dvdhrm commented 12 years ago

Yeah, I already noticed this, but it happens only with TERM=xterm or similar. TERM=vt220 works so I guess xterm has some non-standard behavior or ncurses uses some other escapes for xterm. Maybe some "line erase" does only erase characters but no attributes? Similarly, htop doesn't draw the backgrounds correctly, either. But I haven't found a one-liner which triggers this bug so I am still not sure what's the reason for this.

dvdhrm commented 12 years ago

So I have now implemented "BCE" which means that issue is fixed. Btw. as a workaround with older kmscon releases you can use --term=xterm-color because "xterm-color" does not use BCE. (but note that "xterm" or "xterm-256color" both require BCE!)

Thanks! David

towolf commented 12 years ago

Confirmed fixed.