crossterm icon indicating copy to clipboard operation
crossterm copied to clipboard

Setting the underline color results in blinking on Windows Terminal

Open sholderbach opened this issue 3 years ago • 1 comments

Describe the bug

Using the ContentStyle.underline_color results in blinking on Windows terminal.

(initially discovered: https://github.com/nushell/nushell/pull/6172#issuecomment-1201856518)

To Reproduce

MRE

[dependencies]
crossterm = "0.24"

(also tested on current HEAD)

use crossterm::style::{Attributes, Color, ContentStyle};

fn main() {
    let style = ContentStyle {
        foreground_color: None,
        background_color: None,
        underline_color: Some(Color::Blue),
        attributes: Attributes::default(),
    };
    println!("{}", style.apply("Hello world"));
}

Execute in Windows Terminal (Version: 1.14.1962.0)

Observe blinking of the content

Expected behavior

No blinking

OS Windows (@fdncred also observed it for Macs Terminal.app if I recall correctly)

Terminal/Console

Windows Terminal Version: 1.14.1962.0

sholderbach avatar Aug 02 '22 12:08 sholderbach

Doesnt seem like this behavior is supported by windows.

https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences

Would be nice to have this in the comments.

TimonPost avatar Jan 12 '23 20:01 TimonPost