microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.76k stars 8.33k forks source link

emojis don't blink #15979

Open ClaireCJS opened 1 year ago

ClaireCJS commented 1 year ago

Windows Terminal version

No response

Windows build number

No response

Other Software

No response

Steps to reproduce

Use ansi codes to set blinking on

Print some ASCII characters around an emoji character

Expected Behavior

All characters will blink

Actual Behavior

The ASCII (unicode?) characters blink, but the emoji characters do not.

ADDITIONAL COMMENTS:

At the very least, the background around it could be blunk.

I did this: I simulated blinking emoji via a gentle blinking of the black background around the emoji.

I set a slightly-above-black custom RGB foreground character and then using both reverse and blink at once -- which caused the foreground to become the background and be the part that blunk. Perhaps that is a bug too, but I liked that it was still possible to simulate a blinking emoji.

But such trickery shoudln't really be needed, in my opinion?

lhecker commented 1 year ago

This is because blinking dims the foreground color: https://github.com/microsoft/terminal/blob/2fa8e766bb516aa02d248e2dfe46d2b3269c3c9e/src/renderer/base/RenderSettings.cpp#L156

...and emojis are unaffected by the chosen foreground color. We could consider not using the dim attribute for blinking and instead start using the alpha component of the foreground color for this (or similar).

ClaireCJS commented 8 months ago

I simulate it by going into ansi reverse mode and blinking, which blinks the background (which was previously the foreground before ansi reverse), which, can be set to a custom rgb value to get the aesthetic blink one wants.

But yes — The fact that emojis can be italicized just makes me think other operators (underline, bold, blink) should work as well.

DHowett commented 8 months ago

Well, they'll blink if you turn off full-color emoji after #16871 lands!

We should also make them blink when they are full color. 😁

ClaireCJS commented 8 months ago

I agree!!!