Opened 14 months ago

Last modified 7 weeks ago

#14469 new enhancement

No way to set Folder text/link color

Reported by: isius Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Applications/Tracker Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Folder text/link color seemingly unable to be changed from black. Does not correlate to expected "Document Text" color (or any other color setting) from within "Appearance".

Change History (9)

comment:1 by humdinger, 14 months ago

Component: User InterfaceApplications/Tracker
Owner: changed from stippi to nobody
Type: bugenhancement

comment:2 by humdinger, 14 months ago

Currently an algorithm sets the label colour to white when your Desktop colour is dark, and black when light.

comment:3 by isius, 14 months ago

I do not mean the desktop link/label color. I mean the text labels/links within open folders.

comment:4 by humdinger, 14 months ago

Oh, I see. Yeah, that's not possible ATM apparently.
One can't even set a background colour for a folder, just an image. Otherwise at least that same algorithm could be used.

Anyhoo, as always, "Patches welcome"... :)

comment:5 by isius, 14 months ago

It seems as though a background color may be set by changing "Document background" color. Although, interestingly, the color does not register higher than 216,216,216 within the folders.

I would be happy to patch! Could use a pointer to which source file controls that. Is that within kit, Tracker?

comment:6 by humdinger, 14 months ago

I can change "Document background" in Appearance to any value. Tracker does use that constant, but when you change the colour in Appearance, be aware that it's used in other places as well.

The text colour is AFAIK hardcoded and inverting the colour (black <-> white) is used for selections. Changes may not be that easy...
http://xref.plausible.coop/source/ can help you to find the right code in the Tracker kit.

comment:8 by isius, 13 months ago

Please bear with me as I try to understand the lay of the land here. I'm having some difficulty figuring out which files/components are connected. Especially considering the apparent smattering of legacy and new Layout API code?

I now realize that the "folders" I originally referred to are actually a "query" or "virtual directory" "pose view" (I don't know which, nor understand the difference). Both reference

SetViewUIColor(B_DOCUMENT_BACKGROUND_COLOR, B_DARKEN_1_TINT);

Which makes me question:

  • What is the difference between a virtual directory and a query?
  • What is "pose"?

But more specifically to this ticket... could something like one of the following be added to http://xref.plausible.coop/source/xref/haiku/src/kits/interface/InterfaceDefs.cpp instead of adding a tint with B_DARKEN_1_TINT?

  • B_QUERY_BACKGROUND_COLOR
  • B_VIRTUAL_BACKGROUND_COLOR
  • B_POSE_BACKGROUND_COLOR

I ask because if one wishes to set the background to black, there is no current way to do so within a query/virtual directory.

comment:9 by pulkomandy, 7 weeks ago

Sorry for the much delayed reply...

virtual directories are created from a text file that lists other directories that are to be merged together. Queries are a filesystem feature that allow to search for files on a volume other than by path and filename, they are documented in the user guide.

A "pose" is what Tracker calls either of these or a directory. I don't know where the name comes from. Think of it as "thing that shows a set of files and directories", basically.

We prefer to not add more values to InterfaceDefs. Ideally, one would only pick a handful of "base" colors from the Appearance preferences, and all the other colors would automatically be derived from this initial set. That was the idea of the darken/lighten constants, but these don't work so well when the base color can be either light or dark. Since then, similar issues have been fixed in other areas and I think you could reuse similar code.

Note: See TracTickets for help on using tickets.