PCB’s are crowded places, and coming up with a good algorithm to clearly show what you want to see, but also see other stuff to keep orientation can be an extensive study in GUI design.
I had some trouble adjusting from the old “xor” drawing to the way it works now. Back then I thought the “viewability” of the old way was better, maybe I just thought it was better because I was used to it. The “xor” way was dropped because it had to be handled by the CPU, while transparency is done by you video hardware.
KiCad’s current algorithm is pretty basic. It just draws the active layer on top of the others, and it groups top and bottom layers.
If Top copper is active, then Top Silkscreen is drawn over Bottom Silkscreen and vice versa.
The High Contrast mode is also very simple, It just turns all the other layers grey.
This can be improved a lot, and sometimes I try to think how.
How about this: What if you split the “Layer Manager” horizontally in 2. If you then drag a layer to the “manual” area, then those layers are always drawn on top, and in the order they are in the “manual” box. With this, you can for example always put SilkScreen on top, but with a high transparency.
Another simple algorithm would be to draw the current layer on the bottom, but with 100% opacity, and draw other layers over them with high transparency values.
“Stuff” could be done with dual transparency settings, depending on whether a certain layer is active or not. Now I find that I never set opacity of a layer below 70% because then they become to vague to work on them, because all contrast goes down with opacity. Changing opacity manually with each layer change is annoying, so I just set it once
Adjusting transparency could also be made much easier. For example with a slider bar under the text of each layer name, or with the scrollwheel when hovering over a layer name.
Viewability of layers has been discussed before on this forum. And as with lots of other enhancements in KiCad. There are plenty of idea’s and not enough developers to implement them.
Have you ever experimented with opacity settings?
You can access it by double clicking on the colored square before a layer name. As a starter, begin with setting the opacity of all your copper layers (at least the layers with zones) to around 80% and see how that works for you.
Edit: Just had a look at the github link Rene posted. I don’t care much for these “themes”, and:
An automatic patch script can be used to transfer a colour scheme into your KiCad settings files. Make sure KiCad is closed before using it.
Having some presets, and being able to change them on the fly and automatically, for example depending on what is the active layer could be useful.
In the Layers Manager, there are also a bunch of presets by right clicking in that area:
Adding some custom settings to this list would be useful. Then you can make settings depending on the task you are doing, For example laying tracks (on different layer pairs) or fixing the silk screen or placing components.