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

In reverse video, cursor can disappear #144

Open
treyharris opened this issue Oct 1, 2016 · 11 comments
Open

In reverse video, cursor can disappear #144

treyharris opened this issue Oct 1, 2016 · 11 comments
Labels
feature Feature requested by users
Milestone

Comments

@treyharris
Copy link

Granted this probably isn't exactly a common occurrence, but while I have my terminals set to Solarized (Dark), I set my editor to Solarized Light to easily distinguish it and because it's a bit easier on my eyes for longer coding sessions.

Unfortunately, because the Blink cursor color is the same as the foreground text, that means it totally disappears. Observe, first with the cursor on line 2, column 1 of the file (from a terminal perspective, line 3 col 0, the opening brace in {-# LANGUAGE...)—it's very distinctive here because Emacs has highlighted it (along with the matching closing brace, which is not where the cursor is) for application-specific reasons:
file_000

Now, I move down one line, to terminal line 4 col 0, at the beginning of module CC where:
file_001

and, moving the cursor right by characters:
file_002
file_003

You can just make out the location of the cursor because of the desaturation of the character underneath it, but it's nearly impossible to see on an iPad Pro (especially in night shift color rendering) and is totally invisible when the cursor is not over a text character.

Based on what other terminal emulators do, I'd suggest either a "smart cursor" coloring that adapts to what's behind it (many shift to an outline when the cursor is within a solid multiline area of saturated color, or do a colorwheel calculation to dynamically find an appropriate color that's equidistant from foreground and background), or at least a change such that the cursor color cannot be exactly the value of any of the defined theme colors, since it's always possible that you'll be in a solid multiline block of that color.

If you want something that's static in the theme but doesn't add an additional storage slot to the theme, perhaps a simple color shift algorithm to start with the foreground color and if it's light, darken by 5%, if dark, lighten by 5%, while avoiding other colors defined in the theme. But I'm just spitballing here; I just wanted to make you aware of the issue, as it's a usability showstopper for me—I know most folks don't use lots of colors in TTY mode, but I do. Thanks!

@carloscabanero carloscabanero added feature Feature requested by users icebox labels Oct 3, 2016
@carloscabanero
Copy link
Member

I will check how something similar to iTerm would be.

Also, if we provided configuration for the cursor color, would that help you atm?

@treyharris
Copy link
Author

Also, if we provided configuration for the cursor color, would that help you atm?

Sure, but unless I've missed something, right now you can't configure any colors except for selecting from one of the themes, correct? It would be odd to have a color picker just for cursor color, wouldn't it?

@goerz
Copy link

goerz commented Oct 3, 2016

Not that weird. iTerm has it (see screenshot below)

iterm_settings

I actually would love to see the same options in Blink

@treyharris
Copy link
Author

@goerz Sure, but you can use the color picker on any of the color swatches in iTerm2. What I was saying seemed "weird" was being able to change just the cursor color without being able to change all the theme's colors (or at least foreground and background).

@carloscabanero
Copy link
Member

We currently have (although it is disabled in the app) themes as JS files, with the possibility to upload yours from any URL. The theme can change pretty much anything that is in there, including cursor blink. Exposing all these options through an interface could work, but I think I have never used any of those menus. And I would prefer to have a simple "file editor" for this type of configurations.

I think enabling "Add your theme/font" and then implementing some type of "Smart Cursor" as suggested initially might be the way to go. I will enable the theme/font selection on the next raw version for testers.

@xinan
Copy link

xinan commented Nov 3, 2016

Off topic here. I am also using Solarized Light, but the color (same as yours) looks different from what I used to get from desktop. Why is it so and is there a way to fix it?

@carloscabanero
Copy link
Member

carloscabanero commented Nov 3, 2016

If you use iTerm, they have a mode that modifies the colors to "improve" contrast in themes.

@xinan
Copy link

xinan commented Nov 3, 2016

What mode is that? I think the problem is not just the contrast but the color. See screenshot:

screen shot 2016-11-03 at 11 33 06 pm

screen shot 2016-11-03 at 11 33 31 pm

screen shot 2016-11-03 at 11 35 46 pm

And I get the same color as the first screenshot in Blink. Is there a way to make it look like the second one or the third one?

@carloscabanero
Copy link
Member

@xinan You can now define your own custom fonts & themes and adjust the color through an external file. Check out https://github.com/blinksh/themes

@treyharris I will update the Solarized theme with a Dark Magenta cursor as shown in #33 as a hot fix.

I would like to take it a step further and make them editable too, with a similar dialog to the one shown by @goerz. I think I finally know how this should work and we can definitely nail it :)

@xinan
Copy link

xinan commented Nov 10, 2016

Thanks! Would there be the Light version of Solarized too?

@carloscabanero
Copy link
Member

The idea is that you can upload your own, and the bundled ones are just a nice sample. Not planning to add more there for now (although maybe another light one makes sense).

@carloscabanero carloscabanero modified the milestone: Backlog Feb 8, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Feature requested by users
Projects
None yet
Development

No branches or pull requests

4 participants