Closed pindab0ter closed 3 years ago
It's a good idea and would be nice to to have a more visually appealing default color scheme.
The AceJump default colors are defined here in case anyone wants to submit a pull request: https://github.com/acejump/AceJump/blob/99eca78e846db1da70a0ccd2c5c7b86053747485/src/main/kotlin/org/acejump/config/AceSettings.kt#L18-L23
Is there a preferred outcome here?
If we want option 1, I'm happy to take this on as it looks like no special JetBrains API knowledge is required to choose different rgb defaults.
if we want option 2 or 3, I'd need some guidance because I'm new to JetBrains plugin development.
If we can set colors from the editor color scheme, these may be good choices to try:
internal var jumpModeRGB: Int = CONSOLE_BLUE_OUTPUT.FOREGROUND,
internal var targetModeRGB: Int = CONSOLE_RED_OUTPUT.FOREGROUND,
internal var definitionModeRGB: Int = CONSOLE_MAGENTA_OUTPUT.FOREGROUND,
internal var textHighlightRGB: Int = SEARCH_RESULT_ATTRIBUTES.BACKGROUND,
internal var tagForegroundRGB: Int = INLINE_PARAMETER_HINT_CURRENT.FOREGROUND,
internal var tagBackgroundRGB: Int = INLINE_PARAMETER_HINT_CURRENT.BACKGROUND,
(It would also be worth adding a textHighlightForegroundRGB
that could be set to SEARCH_RESULT_ATTRIBUTES.FOREGROUND
otherwise there could be some color clashes for highlighted text, but perhaps this is a separate issue.)
I'm not familiar with Kotlin or JetBrains APIs, so would need to figure out how to obtain those values from the editor color scheme and convert to RGB. (I had a quick look and JBColor.namedColor()
or javax.swing.UIManager#getXXX()
look like they might help?)
Is there a preferred outcome here?
AceJump currently supports customizing the colors as per #28. I think the simplest solution is to just provide less visually jarring defaults. I suppose we could give options to configure the source, but... death by options.
If we want option 1, I'm happy to take this on as it looks like no special JetBrains API knowledge is required to choose different rgb defaults.
That would be great, thanks for offering! We shouldn't dig too deeply into the IntelliJ Platform API, as ultimately we would like to have a multiplatform implementation. #229
I had a quick look and
JBColor.namedColor(...)
orjavax.swing.UIManager#getXXX()
look like they might help?
That looks right, or maybe JBColor.getColor(String nm, Color v)
to provide a default if the ID is absent. To get the right color ID, go to Settings | Editor | Color Scheme | General
, then select the gear icon next to the Scheme combo box and select Export > IntelliJ IDEA color scheme (.icls)
(this is just an XML file), then search for the ID of the color you like. We should probably try to keep the approximate hue on the default scheme, but it would be nice to have a color that blends nicely within the scheme. Feel free to leave screenshots here if you want feedback.
For Darcula, I came up with a pretty nice theme if anyone wants to copy it.
I think we can close this issue now thanks to @chylex. It would be great if someone could update the README with fresh screenshots / GIFs as per #145. Thanks!
Is your feature request related to a problem? Please describe. The default colours are an eyesore and have nothing to do with the active colour scheme and as a result are very jarring.
Describe the solution you'd like I would like AceJump's colours to use the currently active colour scheme by default.
Describe alternatives you've considered I've considered changing the colours myself, but this is very bothersome. You'd have to first note down which colours you can customise and which kind of colour they're currently using. Then you'd have to go into your current colour scheme to find colours that would match the description that you now can't see because you're in a different part of the preferences window. You note every colour code you'd like to use, go back to the AceJump preferences and enter them there.