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

Stronger visual indication of Normal mode in status bar #13

Closed
kedashoe opened this issue May 8, 2020 · 7 comments
Closed

Stronger visual indication of Normal mode in status bar #13

kedashoe opened this issue May 8, 2020 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@kedashoe
Copy link

kedashoe commented May 8, 2020

Hi @johtela , really enjoying vscode-modaledit :)

I'm just getting started with vscode after using vim for the past however many years, so apologies if this is something I should be able to do myself..

In vim, the different modes have very different colors in the status bar. I think it would help if this extension did something similar. Would it be possible to add something like modaledit.statusBar.normalBackgroundColor and modaledit.statusBar.normalForegroundColor? Maybe the same for insert?

Thanks!

@HactarCE
Copy link

Changing the caret color is another possibility (not sure how hard this is to do though).

@Delapouite
Copy link

We have to be careful about changing the color of the status bar. As stated in the vim extension:

There are performance implications to using this plugin. In order to change the status bar, we override the configurations in your workspace settings.json which results in increased latency and a constant changing diff in your working directory

More details here: VSCodeVim/Vim#2124

@johtela
Copy link
Owner

johtela commented May 14, 2020

This is definitely a worthwhile idea, but requires some investigation. I don't know how easy/difficult it would be to change the color of the cursor(s), status bar or other elements of the UI. Indeed, one must be careful not to adversely impact the performance.

Another concern regarding using colors is the theme support. The highlight colors should definitively be customizable and off by default. It is impossible to automatically pick a color that would be good in both light and dark themes.

I will explore what possibilities there are, and get back to this. Meanwhile, any ideas are welcome.

@johtela
Copy link
Owner

johtela commented May 15, 2020

Cursor color seems to be easy to change. So if no objections arise, I'll add in the configuration three new options:

  • insertCursorColor
  • normalCursorColor
  • searchCursorColor

All of these are null by default, which means that default cursor color is used.

@johtela johtela added the enhancement New feature or request label May 15, 2020
@johtela johtela self-assigned this May 15, 2020
johtela pushed a commit that referenced this issue Jun 11, 2020
Changing cursor color is not possible without constantly updating either global or workspace level
settings.json file. Therefore, implemented the original request instead.
Now it is possible to change the status bar text and its color in
configuration.
Also fixed a subtle but annoying bug in the search command.
@haberdashPI
Copy link
Contributor

haberdashPI commented Jun 16, 2020

Doesn't the linked solution have the same problem as modifications to the status bar? It changes the workspace configuration which is persistent across sessions no? Meaning that every time you switch between normal and inset mode the workspace settings.json file will change??

@johtela
Copy link
Owner

johtela commented Jun 17, 2020

Yes it does. I tried that approach in this commit and reverted back to a different solution.

In upcoming version 2.0, there is a configuration option to change both status bar text (including icons) and color in each mode. Hopefully this will be strong enough indication of current mode. Only status bar text color can be changed without changing the static configuration. Background cannot be changed.

@johtela
Copy link
Owner

johtela commented Jul 30, 2020

Implemented in version 2.0. See documentation for details.

@johtela johtela closed this as completed Jul 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants