#4868 closed bug (fixed)
Appearance - "negative colors" not respected - hardcoded black text?
Reported by: | m0ns00n | Owned by: | leavengood |
---|---|---|---|
Priority: | normal | Milestone: | R1/beta2 |
Component: | Preferences/Appearance | Version: | R1/alpha1 |
Keywords: | Cc: | post@… | |
Blocked By: | #5293 | Blocking: | #11636 |
Platform: | x86 |
Description
It seems to me that when I choose dark backgrounds in the Appearance preference application, with white text, most GUI elements still render with black text, as if black text is hard coded. The expected result would be that the GUI respects the choices made in preferences.
The result now is that dark themes with bright text is impossible to get right in Haiku.
Attachments (1)
Change History (14)
comment:1 by , 13 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 13 years ago
Blocked By: | 5293 added |
---|
comment:3 by , 12 years ago
Component: | User Interface → Preferences/Appearance |
---|
Changing component.
Any progress on this? I'm now doing some Appearances stuff too and am also annoyed by problems with darker color schemes.
comment:4 by , 12 years ago
Nice you to see you back Ryan. In ControlLook.cpp in the DrawLabel() method (line 1772 at the time of this writing) Stippi has written the prototype of how to draw a label black on a light background or white on a dark background. I assume that there must be code in Tracker to do this as well since it seems to work for text on the Desktop. To fix this bug we need to find instances of B_CONTROL_TEXT_COLOR and the other text color constants and replace them with a function call (perhaps defined in Interface Defs) that calculates the text color (black or white) from the background color as the code in ControlLook does.
With that done we can then deprecate those constants. Although I have some pending Appearance work to commit, it focuses on fixing instances where the color constants should be used to make more constants function, not deprecating constants. So feel free to do the work on this ticket if you'd like. I won't get back to this for a while now as I'm currently focused elsewhere.
comment:5 by , 12 years ago
Owner: | changed from | to
---|
Re-assigning this to leavengood as he indicated that he had code in progress to fix this.
comment:6 by , 12 years ago
In hrev44426 I fixed the menu drawing code so it takes into account the user chosen colors. I do not know if this fixes this ticket, as there may still be places which still hard code certain colors. If the person who logged this is still around could you try the latest Haiku and give some examples of where dark text is still used despite your settings?
comment:7 by , 12 years ago
Well I decided to just test myself and some problems which still remain:
- Deskbar items always seem to be drawn with black text. These should probably use the menu item text.
- The list of windows in Deskbar is also always black text.
- The column headers in Tracker always seem to be drawn with black text. These should use the control text.
There are probably more.
comment:8 by , 12 years ago
by , 12 years ago
Attachment: | zeta_gonx_theme.png added |
---|
comment:10 by , 9 years ago
In hrev49343, StyledEdit will draw background in B_DOCUMENT_BACKGROUND_COLOR and text color will default to B_DOCUMENT_TEXT_COLOR.
comment:11 by , 8 years ago
Is this still an issue? After looncraz SetUIColor work, it should work for all Haiku apps...
comment:12 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I just tested again and the only obvious thing I could see was the status bar in StyledEdit was not using the panel text color, so I have fixed that in hrev53328. Otherwise I say close this and let people open new tickets per application.
comment:13 by , 5 years ago
Milestone: | R1 → R1/beta2 |
---|
Assign tickets with status=closed and resolution=fixed within the R1/beta2 development window to the R1/beta2 Milestone
Taking ownership of this one as I'm working on the Appearance preferences pane. No promises of actually fixing this though.