Community
Participate
Working Groups
Created attachment 252835 [details] Screenshot
New Gerrit change created: https://git.eclipse.org/r/46712
Hi, it'd be really nice if someone from JDT could take a look on the gerrit review (the breadcrumb bar in the dark theme is really strange without this change). Thanks.
Ok, at this point it's not possible to make it work for JDT based on the comments given (there's no API for CSS and this is definitely not going to change anytime soon), so, abandoning the patch.
(In reply to Fabio Zadrozny from comment #3) > Ok, at this point it's not possible to make it work for JDT based on the > comments given (there's no API for CSS and this is definitely not going to > change anytime soon), so, abandoning the patch. Do not give up that easily, lets try to make this work early 4.6 and maybe downport it.
(In reply to Lars Vogel from comment #4) > (In reply to Fabio Zadrozny from comment #3) > > Ok, at this point it's not possible to make it work for JDT based on the > > comments given (there's no API for CSS and this is definitely not going to > > change anytime soon), so, abandoning the patch. > > Do not give up that easily, lets try to make this work early 4.6 and maybe > downport it. Yeap, don't worry, it's just that at this point is too late to make any changes, so, I'm dropping it *for now* :) After 4.5 is finished we can revisit leftover stuff (when APIs can be changed again with less fuss -- platform.ui definitely needs an API so that clients can set the id of elements and asking for a restyle without relying on a non-API, but such a change will probably have to wait some months -- although if you can get such a change based on the utility I've added to JDT in the gerrit review -- which is the same I already have in PyDev, then I could revisit and maybe even add to 4.5, but I don't have time for the bureaucratic part of that right now). -- although I agree that it's unfortunate that the breadcrumb will remain completely unusable in the dark theme until 4.6.
This Bug should be increased. Right now Mars.2 is not fully usable with Linux because all mouseovers/ popups are unreadable. The picture posted by Lars Vogel is still(!) unchanged under Linux.
*** Bug 472438 has been marked as a duplicate of this bug. ***
See also review comments on the the abandoned https://git.eclipse.org/r/46712 : > JDT is not going to use internal code. If one needs to refer to those types they have to become API.
This is still an issue in STS 4.6 version
Created attachment 262572 [details] Picture showing that this bug renders eclipse nearly unusable regarding popups This pop is not only affecting the bread crumb in the dark theme but also the popups in the normal theme. Currently it is impossible to read popups/suggestions/quickFix hints. Thus eclipse looses 80% of its charm under linux. This is a major usability problem!
Guys its really hard for me to convince anybody from using Eclipse when I can not even read the hints/popups. This needs to be priorized up.
Is there a workaround? Could you configure the font color differently or anything to make the popups readable again?
Not a joke. I used Eclipse more than 10 years and always customize my eclipse with lots of plugins and tried very hard to make colors right for me. But recently after uninstalling a plugin and could not start eclipse up again, I know it is time for me to move on and switch to IntelliJ. Many people cries over different issues about Eclipse on bugzilla or stackoverflow but in many cases I do not see response. This issue for instance, I have been waiting for a fix since dark theme got introduced to Eclipse but more than a year and a major version upgrade, this issue seems still invisible to eclipse developers. Another issue is about the color of the balloon tooltip when the text is longer than the panel width. The color of foreground and background is almost the same and the text is not readable. Try Intellij and he is way much smarter and fast. After many attempts of switching over many years, I think I finally did that and deleted my eclipse shortcuts from task bar and also bookmarks of eclipse download and bugzilla. Eclipse is simply not evolving while the rest of the world does!
As a note, this issue is just about the JDT breadcrumb bar buttons, not other popups (@Kevin Fleischer: the second screenshot isn't related to this bug). As a note, for your use-case, if that can't configured under General > Appearance > Colors and Fonts > content assist background color/foreground color, you have to configure it in GTK (i.e.: Eclipse tries to follow your system settings). p.s.: don't answer to this comment, this is a separate bug, so, if that doesn't solve it for you, look for other existing bugs on bugzilla or create a new one (although yours is probably more a question on how to configure it, so, it may be better suited for stackoverflow).
Sorry I will still add to this here. If it is two separate bugs than the popup color Bug should be split away. Until this happens here is a workaround and some more info for the programmers. #1: Changing the General > Appearance > Colors and Fonts > content assist background color/foreground color does not have any effect. It seems like those colors are not used in Eclipse-Linux. This is a bug in itself #2: You can change the color by changing the "Shortinfo-Background" color in GTK. I use KDE where you find this settings in the KDE-Settings -> look of Applications (not Desktop) -> GTK IMPORTANT: Eclipse seems to read and store the color on startup. You have to restart eclipse that the change takes effect. (Kind of another Bug or at least suboptimal implementation)
*** Bug 527346 has been marked as a duplicate of this bug. ***
@Lars, back when I added the Gerrit review for this (2.5 years ago), the problem was that it was not possible to set the css id for an element properly, do you think now would be already a good time for having some API in the theming which JDT could use? Mostly: what's available at: https://git.eclipse.org/r/#/c/46712/4/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/Styling.java should be a public API on one of the theming related plugins (the whole theming is no-api, but maybe we should start to consider at least some basic API at this point?).
(In reply to Fabio Zadrozny from comment #17) > @Lars, back when I added the Gerrit review for this (2.5 years ago), the > problem was that it was not possible to set the css id for an element > properly, do you think now would be already a good time for having some API > in the theming which JDT could use? > > Mostly: what's available at: > https://git.eclipse.org/r/#/c/46712/4/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ > internal/ui/Styling.java should be a public API on one of the theming > related plugins (the whole theming is no-api, but maybe we should start to > consider at least some basic API at this point?). Sorry Fabio, for some reason I missed this review. Damn me, sorry. As for API, you can use setData. See http://www.vogella.com/tutorials/Eclipse4CSS/article.html#styling-based-on-identifiers-and-classes
Hi Lars, I took a quick look at just setting the data id as you pointed, and it almost works, but it still has an issue because the widget needs to be restyled after the id is set, which in the pull request was done through IThemeEngine.applyStyles(widget, applyToChildren)... Is there a workaround for that too?
*** Bug 536462 has been marked as a duplicate of this bug. ***
@Fabio. Can you pls. explain what still needs to be done to "finish" your fix?
There is an adapted copy of the breadcrumb in org.eclipse.debug.internal.ui.viewers.breadcrumb
(In reply to Matthias Becker from comment #21) > @Fabio. > Can you pls. explain what still needs to be done to "finish" your fix? https://git.eclipse.org/r/46712 actually has a fix but there's a part which I commented out in: https://git.eclipse.org/r/#/c/46712/8/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/breadcrumb/BreadcrumbItemDetails.java which needs a better approach.
(In reply to Fabio Zadrozny from comment #23) > (In reply to Matthias Becker from comment #21) > > @Fabio. > > Can you pls. explain what still needs to be done to "finish" your fix? > > https://git.eclipse.org/r/46712 actually has a fix but there's a part which > I commented out in: > > https://git.eclipse.org/r/#/c/46712/8/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ > internal/ui/javaeditor/breadcrumb/BreadcrumbItemDetails.java > > which needs a better approach. so you are talking about this: // if (isTextVisible()) { // fTextComposite.setBackground(background); // fElementText.setBackground(background); // fElementText.setForeground(foreground); // // fImageComposite.setBackground(null); // fElementImage.setBackground(null); // } else { // fImageComposite.setBackground(background); // fElementImage.setBackground(background); // // fTextComposite.setBackground(null); // fElementText.setBackground(null); // fElementText.setForeground(null); // } not the commented code in https://git.eclipse.org/r/#/c/46712/8/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/breadcrumb/BreadcrumbViewer.java?
(In reply to Matthias Becker from comment #24) > (In reply to Fabio Zadrozny from comment #23) > > (In reply to Matthias Becker from comment #21) > > > @Fabio. > > > Can you pls. explain what still needs to be done to "finish" your fix? > > > > https://git.eclipse.org/r/46712 actually has a fix but there's a part which > > I commented out in: > > > > https://git.eclipse.org/r/#/c/46712/8/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ > > internal/ui/javaeditor/breadcrumb/BreadcrumbItemDetails.java > > > > which needs a better approach. > > so you are talking about this: > > // if (isTextVisible()) { > // fTextComposite.setBackground(background); > // fElementText.setBackground(background); > // fElementText.setForeground(foreground); > // > // fImageComposite.setBackground(null); > // fElementImage.setBackground(null); > // } else { > // fImageComposite.setBackground(background); > // fElementImage.setBackground(background); > // > // fTextComposite.setBackground(null); > // fElementText.setBackground(null); > // fElementText.setForeground(null); > // } > > not the commented code in > https://git.eclipse.org/r/#/c/46712/8/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ > internal/ui/javaeditor/breadcrumb/BreadcrumbViewer.java? Actually, both. The approach to properly fix those cases is probably really removing that code and porting the behavior to work through css (or just changing the behavior if others feel it's a reasonable compromise).
(In reply to Fabio Zadrozny from comment #25) > The approach to properly fix those cases is probably really removing that > code and porting the behavior to work through css (or just changing the > behavior if others feel it's a reasonable compromise). What about keeping the code as it is and "just" change the colors used (SWT.COLOR_WIDGET_BACKGROUND, COLOR_LIST_BACKGROUND ...) by some colors configured via CSS like in https://git.eclipse.org/r/#/c/97429/
(In reply to Matthias Becker from comment #26) > (In reply to Fabio Zadrozny from comment #25) > > The approach to properly fix those cases is probably really removing that > > code and porting the behavior to work through css (or just changing the > > behavior if others feel it's a reasonable compromise). > > What about keeping the code as it is and "just" change the colors used > (SWT.COLOR_WIDGET_BACKGROUND, COLOR_LIST_BACKGROUND ...) by some colors > configured via CSS like in https://git.eclipse.org/r/#/c/97429/ Seems like a reasonable compromise for me.
(In reply to Fabio Zadrozny from comment #27) > (In reply to Matthias Becker from comment #26) > > What about keeping the code as it is and "just" change the colors used > > (SWT.COLOR_WIDGET_BACKGROUND, COLOR_LIST_BACKGROUND ...) by some colors > > configured via CSS like in https://git.eclipse.org/r/#/c/97429/ > > Seems like a reasonable compromise for me. +1
New Gerrit change created: https://git.eclipse.org/r/125777
I finished the fix in JDT and added the same fix to the copy in platform debug. Up to now a gradient with fixed colors was drawn on the bread crumb. As we already removed the gradient on the form based editors I also removed it here. I set the background to a light (almost white) gray in the default theme so that the bread crumb is separated from the background of the text editor. I tested this on macOS. Can someone please also test on windows and linux. I will upload screenshots of the mac version.
Created attachment 274882 [details] jdt bread crumbe light on mac
Created attachment 274883 [details] jdt bread crumb dark on mac
Created attachment 274884 [details] debug bread crumb light on mac
Created attachment 274885 [details] debug bread crumb dark on mac
can somebody (especially from JDT) pls review my two changes?
How do you test the changes in platform.debug? AFAICS JDT doesn't use them, do you know of anything else using them?
(In reply to Alexander Kurtakov from comment #36) > How do you test the changes in platform.debug? AFAICS JDT doesn't use them, > do you know of anything else using them? Nevermind, I found it's used in debug view.
(In reply to Alexander Kurtakov from comment #37) > (In reply to Alexander Kurtakov from comment #36) > > How do you test the changes in platform.debug? AFAICS JDT doesn't use them, > > do you know of anything else using them? > > Nevermind, I found it's used in debug view. Yes. It's a very hidden feature. I think only very few users of eclipse know it.
(In reply to Alexander Kurtakov from comment #36) > How do you test the changes in platform.debug? AFAICS JDT doesn't use them, > do you know of anything else using them? SAP's ABAP Development Tools also use the platform.debug implementation - even though it's not API :-(
Created attachment 275047 [details] Broken coloring with light theming applied.
Created attachment 275048 [details] Consistent coloring without light theming
Created attachment 275050 [details] with light css and without light css in comparison Dear Alexander, this shows how it looks like on mac if I remove the "light" style css. I simply wanted to add some background here. On the left side you see the debug view (with the light css removed) on the right hand side the jdt version (still having the light css). Should I make the css dependent on the os and only contribute it on mac (because on linux it looks fine without it)? How does it look like on windows?
IMHO, setting this (In reply to Matthias Becker from comment #42) > Created attachment 275050 [details] > with light css and without light css in comparison > > Dear Alexander, > > this shows how it looks like on mac if I remove the "light" style css. I > simply wanted to add some background here. On the left side you see the > debug view (with the light css removed) on the right hand side the jdt > version (still having the light css). > Should I make the css dependent on the os and only contribute it on mac > (because on linux it looks fine without it)? I propose using theme specific color in such cases like COLOR-WIDGET-LIGHT-SHADOW ? This should be a decent color on all themes. > > How does it look like on windows?
(In reply to Alexander Kurtakov from comment #43) > I propose using theme specific color in such cases like > COLOR-WIDGET-LIGHT-SHADOW ? This should be a decent color on all themes. In the light theme only (meaning in the light css) or also for the dark one? See the change in https://git.eclipse.org/r/#/c/125777/3/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java There you see that the old impl. did use colors like this: Color colorC= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_LIST_BACKGROUND, 35, display); Color colorD= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_LIST_BACKGROUND, 45, display); Color colorE= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_LIST_BACKGROUND, 80, display); Color colorF= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_LIST_BACKGROUND, 70, display); Color colorG= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_WHITE, 45, display); Color colorH= createColor(SWT.COLOR_WIDGET_NORMAL_SHADOW, SWT.COLOR_LIST_BACKGROUND, 35, display); to draw gradients. And this colors are light in the dark theme.
(In reply to Matthias Becker from comment #44) > (In reply to Alexander Kurtakov from comment #43) > > I propose using theme specific color in such cases like > > COLOR-WIDGET-LIGHT-SHADOW ? This should be a decent color on all themes. > In the light theme only (meaning in the light css) or also for the dark one? > See the change in > https://git.eclipse.org/r/#/c/125777/3/org.eclipse.debug.ui/ui/org/eclipse/ > debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java > > There you see that the old impl. did use colors like this: > > Color colorC= createColor(SWT.COLOR_WIDGET_BACKGROUND, > SWT.COLOR_LIST_BACKGROUND, 35, display); > Color colorD= createColor(SWT.COLOR_WIDGET_BACKGROUND, > SWT.COLOR_LIST_BACKGROUND, 45, display); > Color colorE= createColor(SWT.COLOR_WIDGET_BACKGROUND, > SWT.COLOR_LIST_BACKGROUND, 80, display); > Color colorF= createColor(SWT.COLOR_WIDGET_BACKGROUND, > SWT.COLOR_LIST_BACKGROUND, 70, display); > Color colorG= createColor(SWT.COLOR_WIDGET_BACKGROUND, SWT.COLOR_WHITE, 45, > display); > Color colorH= createColor(SWT.COLOR_WIDGET_NORMAL_SHADOW, > SWT.COLOR_LIST_BACKGROUND, 35, display); > > to draw gradients. And this colors are light in the dark theme. See the comment in gerrit I mean using that color in the light theme css.
Created attachment 275060 [details] Light Theme with the color proposed by Alexander This shows how the breadcrumb looks like with the COLOR-WIDGET-LIGHT-SHADOW color. Btw: Is there an overview of all the color constants that are derived from a OS theme?
(In reply to Matthias Becker from comment #46) > Created attachment 275060 [details] > Light Theme with the color proposed by Alexander > > This shows how the breadcrumb looks like with the COLOR-WIDGET-LIGHT-SHADOW > color. > > Btw: Is there an overview of all the color constants that are derived from a > OS theme? There is Color tab in http://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java where one can see the colors.
(In reply to Alexander Kurtakov from comment #47) > There is Color tab in > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/examples/org. > eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ > ControlExample.java where one can see the colors. Thanks. Good to know.
Gerrit change https://git.eclipse.org/r/125777 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=a331ba896e29b946a6b9f07d89b6d485f5a7450d
Gerrit change https://git.eclipse.org/r/46712 was merged to [master]. Commit: http://git.eclipse.org/c/jdt/eclipse.jdt.ui.git/commit/?id=220f28f1eae3976a971c7ad7a7f49e68fbb8ca03
Thanks Matthias!
I plan to write a N&N entry. Should I put it into the JDT or the platform part of it?
(In reply to Matthias Becker from comment #52) > I plan to write a N&N entry. Should I put it into the JDT or the platform > part of it? JDT.
New Gerrit change created: https://git.eclipse.org/r/126493
Gerrit change https://git.eclipse.org/r/126493 was merged to [master]. Commit: http://git.eclipse.org/c/www.eclipse.org/eclipse/news.git/commit/?id=11996057368d6033ed1c814d4f3f1e2bc3276de9
(In reply to Eclipse Genie from comment #55) > Gerrit change https://git.eclipse.org/r/126493 was merged to [master]. > Commit: > http://git.eclipse.org/c/www.eclipse.org/eclipse/news.git/commit/ > ?id=11996057368d6033ed1c814d4f3f1e2bc3276de9 Fixed N&N entry - same tr id used step_result_timeout
(In reply to Sarika Sinha from comment #56) > (In reply to Eclipse Genie from comment #55) > > Gerrit change https://git.eclipse.org/r/126493 was merged to [master]. > > Commit: > > http://git.eclipse.org/c/www.eclipse.org/eclipse/news.git/commit/ > > ?id=11996057368d6033ed1c814d4f3f1e2bc3276de9 > > Fixed N&N entry - same tr id used step_result_timeout thank you