Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lets make the DOM renderer great again #1896

Closed
jerch opened this issue Jan 14, 2019 · 6 comments
Closed

lets make the DOM renderer great again #1896

jerch opened this issue Jan 14, 2019 · 6 comments
Labels
type/enhancement Features or improvements to existing features

Comments

@jerch
Copy link
Member

jerch commented Jan 14, 2019

The DOM renderer needs some love. It kinda fell behind and still misses some flags like INVISIBLE, BLINK and DIM. Furthermore we might want to investigate if we can speedup things by less <span>ning.

@jerch jerch added type/enhancement Features or improvements to existing features area/renderer labels Jan 14, 2019
@Tyriar
Copy link
Member

Tyriar commented Jan 14, 2019

None of them support blink, too much work for something that is rarely used and an accessibility nightmare.

@jerch
Copy link
Member Author

jerch commented Jan 14, 2019

@Tyriar Tbh Im not aware of single terminal program in the last 20ys that uses blinking for some important feature. I think Turbo Pascal under DOS had some blinking animation after compiling or when an error was found, cannot remember exactly. 😄
Still for the cursor blinking it quite common, it can be done with a CSS animation quite easy.

@theflyingape
Copy link
Contributor

theflyingape commented Jan 15, 2019

The flash/blink attribute was an original DIGITAL terminal favorite of mine:

  • VT100 it was more known as FLASH, as it toggled the characters on/off
  • VT220 it was BLINK, as it toggled between states: BOLD/NORMAL, NORMAL/FAINT, FAINT/INVISIBLE
    ... and then there is the PROTECT flag (DECSCA) too.

I agree with @Tyriar for the reasons listed, but having those available for ANSI art, MUD clients, whatever, are often left wanting in a terminal emulator.

Is there a middle-ground? Could this be accomplished as add-on goal with its extended CSI handling?

@jerch
Copy link
Member Author

jerch commented Jan 15, 2019

Hmm maybe we should hide it behind some option? I see a reason to be able to completely disable it, blinking often annoys ppl.
Edit: With a custom CSI handler alone it cannot be done as it requires patches on renderer side as well. Currently no renderer offers this feature (wasnt even aware of that lol).

@Tyriar
Copy link
Member

Tyriar commented Jan 16, 2019

Custom CSI handler + #1852 would probably make it possible.

starpit added a commit to starpit/xterm.js that referenced this issue Apr 6, 2019
starpit added a commit to starpit/xterm.js that referenced this issue Apr 14, 2019
starpit added a commit to starpit/xterm.js that referenced this issue Apr 14, 2019
@Tyriar
Copy link
Member

Tyriar commented Jun 14, 2019

Most of this is done now thanks for community contributions 🎉, let's close this off and create issues for any remaining lack of functionality. Initially the DOM renderer was just the fallback but it will likely be the default in the future and users will be able to opt in to using GPU acceleration with the webgl renderer, so it should be just as solid as the others 💪

@Tyriar Tyriar closed this as completed Jun 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement Features or improvements to existing features
Projects
None yet
Development

No branches or pull requests

3 participants