Ok. We have two "clashing" sketcher PRs and I would like to have something done about them.vanuan wrote: ↑Thu Dec 17, 2020 4:18 pmBut it makes a bad UX. What's so special about FreeCAD that every single option must be user configurable? Wouldn't it be nice if it just sized all its UI elements relative to the system's font like every other application?
So the ideal solution would be this:
- Take the system font in points
- Make all the fonts be specified in relative units to that system font (1.5, 0.8, etc)
- Make all the icons be sized in relation to the font size (pixelSize = pointSize / 72 * dpi_ratio)
- Make sure we take into an account the device pixel ratio (fonts specified in points should remain the same, while the pixel size should increase according to DPR)
Here we see two half-baked solutions. One lacks proper scaling (or rather OS display text size / scaling setting), another lacks the UI element sizing relative to the system font.
The main problem is not the two PRs, but the fact that I lack the knowledge about how this is done in the real world. I am the kind of developer happy to code the algorithms and pass them to the magic "put this into the screen" function that someone else coded.
Because from your summary you seem to know better than I do, probably it makes sense to ask you.
1. Is it customary that icon size relates to font size?
I do understand that somebody made sure the text renders properly on your screen. I understand that one could leverage that knowledge to get some scaling factor for other elements, such as icons. However, it is still unclear to me if this is how things are done (tm).
What happens if I have an oversized text font in my system, not because I cannot read smaller text, but rather because I read a lot of text on the computer per day and I want to reduce my eye-strain. Do or should icons resize with my selected font size.
2. If yes, I see the comment about the two half-backed solutions. I see the lists of how an ideal solution should look like. What do you think is reasonable doing within the current limitations of FreeCAD.
Tomorrow morning I am going to read the code of both PRs. I am going to read your reply and I am going to give my impressions here in order to move forward.